обновить MySql с сервера Sql специальными символами - PullRequest
0 голосов
/ 27 сентября 2018

Мой SQL-сервер SQL выглядит следующим образом:

update mysqlEmp
set first_name=FirstName
FROM OPENQUERY(NTEMYSQL,'select * from data_source_db.employees') mysqlEmp 
INNER JOIN Employee on Employee.ID=mysqlEmp.id_number
WHERE CONVERT(date,Employee.Editdate) between '2018-09-19' AND '2018-09-26'
  AND (mysqlEmp.first_name!=Employee.FirstName)
  and employee.id='A0002779'

Будет отображаться ошибка:

Поставщик OLE DB "MSDASQL" для связанного сервера "NTEMYSQL" вернул сообщение "Строка не можетбыть найдены для обновления. Некоторые значения могли быть изменены с момента последнего чтения. "Сообщение 7343, уровень 16, состояние 4, строка 3 Поставщик OLE DB "MSDASQL" для связанного сервера "NTEMYSQL" не смог обновить таблицу "[MSDASQL]".В наборе строк использовался оптимистичный параллелизм, и значение столбца было изменено после последней выборки или повторной синхронизации содержащейся строки.

Если я выбрал first_name с помощью OPENQUERY (на сервере sql)

select first_name from OPENQUERY(NTEMYSQL,N'select * from 
data_source_db.employees') mysqlEmp 
where id_number='A0002779' 

результат: PHILIP NI? O

Если я выберу first_name в Mysql

select first_name from data_source_db.employees where id_number ='A0002779'

результат: enter image description here

Я думаю, что специальные символы enter image description here делают мою ошибку обновления sql

- Sql Server: column "FirstName" Тип: nvarchar

- My sql: column "first_name "Тип: utf8mb4_unicode_ci

Как мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...