Сбои ServiceProcessInstaller с “Никаким отображением между именами учетной записи и идентификаторами безопасности были сделаны”

В идеале вы должны перейти на MYSQL 8, этот ответ больше предназначен для развлечения

blockquote>

Вам нужно написать сложный SQL для имитации / эмуляции MySQL 8.0 JSON_TABLE() в версиях ниже MySQL 8

Запрос

SET @json = '[ { "name":"John Smith",  "address":"780 Mission St, San Francisco, CA 94103"}, { "name":"Sally Brown",  "address":"75 37th Ave S, St Cloud, MN 94103"}, { "name":"John Johnson",  "address":"1262 Roosevelt Trail, Raymond, ME 04071"}     ]';

##SELECT @json;

SELECT * FROM JSON_TABLE (@json, '$[*]' COLUMNS (
                `name` VARCHAR(40)  PATH '$.name',
                `address` VARCHAR(100) PATH '$.address')) AS T;

Результат

| name         | address                                 |
| ------------ | --------------------------------------- |
| John Smith   | 780 Mission St, San Francisco, CA 94103 |
| Sally Brown  | 75 37th Ave S, St Cloud, MN 94103       |
| John Johnson | 1262 Roosevelt Trail, Raymond, ME 04071 |

см. [115 ] demo

В MySQL 5.7 запрос имитации / эмуляции включает в себя использование генератора чисел и нескольких собственных функций JSON MySQL.

Запрос

SELECT 
   REPLACE(JSON_EXTRACT(json_record.json, CONCAT('$[',number,'].name')), '"', '') AS name
 , REPLACE(JSON_EXTRACT(json_record.json, CONCAT('$[',number,'].address')), '"', '') AS address
FROM (
   SELECT 
     @row := @row + 1 AS number
   FROM (
      SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION   SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9
      ) row1
      CROSS JOIN (
      SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION  SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9
    ) row2
    CROSS JOIN (
      SELECT @row := -1 
    ) init_user_params 
  ) AS number_generator
CROSS JOIN (
SELECT 
   JSON_LENGTH(json_information.json) - 1 AS json_length
 , json_information.json
FROM (
  SELECT 
    record.json
  FROM (
    SELECT 
      '
      [{
            "name": "John Smith",  
            "address": "780 Mission St, San Francisco, CA 94103"
      }, {
           "name": "Sally Brown",
           "address": "75 37th Ave S, St Cloud, MN 94103"
      }, {
           "name": "John Johnson",
           "address": "1262 Roosevelt Trail, Raymond, ME 04071"
      }]
     ' AS json
    FROM 
     DUAL   
  ) AS record  
) AS json_information

) AS json_record
WHERE 
 number BETWEEN 0 AND json_length           

Результат

| name         | address                                 |
| ------------ | --------------------------------------- |
| John Smith   | 780 Mission St, San Francisco, CA 94103 |
| Sally Brown  | 75 37th Ave S, St Cloud, MN 94103       |
| John Johnson | 1262 Roosevelt Trail, Raymond, ME 04071 |

см. демо

8
задан Grzenio 16 March 2009 в 11:50
поделиться

2 ответа

Найденный им наконец: кажется, существует "функция" в ServiceProcessInstaller, где код перезаписывает значения, я обеспечил явно значениями от контекста. Установщик MSI установил имя пользователя на небольшое количество дерьма (мое название компании), и ServiceProcessInstaller попробованный для установки сервиса как этого пользователя а не того, явно обеспеченного мной. Таким образом, обходное решение должно установить правильные значения в конфигурации:

public override void Install(IDictionary stateSaver)
{
    .... open the form, bla bla bla
    serviceProcessInstaller.Password = accountForm.txtPassword.Text;
    Context.Parameters["PASSWORD"] = accountForm.txtPassword.Text;
    serviceProcessInstaller.Username = accountForm.txtServiceAccount.Text;
    Context.Parameters["USERNAME"] = accountForm.txtServiceAccount.Text;
    serviceProcessInstaller.Account = ServiceAccount.User;
}
7
ответ дан 5 December 2019 в 17:41
поделиться

Возможно, ее полученный что-то, чтобы сделать с Вашей сервисной учетной записью на Вас среду машины

Надеюсь справка для понимания ситуации.

2
ответ дан 5 December 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: