Я создал два связанных сервера один из Mysql, а другой из удаленного MSSQL. возможно ли синхронизировать таблицы на этих двух связанных серверах из разных баз данных?Можно ли синхронизировать две таблицы на двух связанных серверах с MySQL и MSSQL?
ответ
Вставка данных из MySQL в SQL Server, сделать что-то вроде
INSERT INTO SQLServerLinkedServer.database.schema.TableName(Col1,Col2)
SELECT Col1,Col2 FROM MySQLinkedServer...TableName
Вставка данных из SQL Server в MySQL, сделать что-то вроде
INSERT INTO MySQLinkedServer...TableName(Col1,Col2)
SELECT Col1,Col2 FROM SQLServerLinkedServer.database.schema.TableName
Вы можете сравнить эти таблицы с помощью ключевого столбца , Для примера вставить недостающие записи в MySQLinkedServer используя что-то вроде этого
INSERT INTO MySQLinkedServer...TableName(Col1,Col2)
SELECT T1.Col1,T2.Col2
FROM SQLServerLinkedServer.database.schema.TableName T1
LEFT JOIN MySQLinkedServer...TableName T2
ON T1.col1 = T2.col1
WHERE T2.col1 IS NULL
Мой связанный сервер с именем MSSQL похож на XXX-SERVER. слово «SERVER» автоматически выделяется синим цветом, потому что «SERVER» является ключевым словом. Могу ли я использовать 'INSERT INTO 'XXX-SERVER'.database.schema.TableName (Col1, Col2) вместо этого? Единая котировка? – Kin
просто укажите имя сервера с помощью [], как это [XXX-Server] '. пожалуйста, проверьте следующие [правила идентификатора] (https://msdn.microsoft.com/en-us/library/ms175874.aspx) – ughai
Большое спасибо, но я получаю эту ошибку 'Msg 7399, Level 16, State 1, Line 1 Поставщик OLE DB MSDASQL для связанного сервера MYODBC сообщил об ошибке. Поставщик сообщил о неожиданном катастрофическом сбое. Msg 7372, уровень 16, состояние 2, строка 1 Невозможно получить свойства от поставщика OLE DB MSDASQL для связанного сервера MYODBC. «MYODBC - это имя источника данных MYSQL – Kin
вы должны быть в состоянии вручную сравнивать и синхронизировать эти связанные таблицы сервера с помощью какого-то ключевого столбца (ы) с помощью запланированного SQL задания. без точной структуры таблицы, трудно сформулировать это в фактическом ответе – ughai
Thank @ughai Можете ли вы показать мне пример инструкции Insert - синтаксис? – Kin
просто выполните обычную 'Вставить в MySQLLnkedServer ... TableName (Col1, Col2) SELECT Col1, Col2 FROM SQLServerLinkedServer.database.schema.TableName' – ughai