Процесс подлючения MySQL по ODBC в качестве Linked Server к MS SQL Server аналогичен тому, который я уже описывал (http://barbitoff.blogspot.com/2011/09/odbc-linked-server-ms-sql-2008.html), правда с несколькими замечаниями:
1) Для оптимизации производительности и повышения стабильности при создании System DSN нужно зайти в Details, и там установить галочки (сам различные варианты настроек не сравнивал, воспользовавшись рекомендациями отсюда http://www.ideaexcursion.com/2009/02/25/howto-setup-sql-server-linked-server-to-mysql/):
Именование таблиц связанного сервера при выполнения SQL-запросов будет следующее: LINKED_SERVER_NAME...TABLE_NAME, т.е. между именем связанного сервера и именем таблицы ставится три точки, например:
SELECT TOP 10 * FROM MYSQL_SERVER...BRANDS
1) Для оптимизации производительности и повышения стабильности при создании System DSN нужно зайти в Details, и там установить галочки (сам различные варианты настроек не сравнивал, воспользовавшись рекомендациями отсюда http://www.ideaexcursion.com/2009/02/25/howto-setup-sql-server-linked-server-to-mysql/):
- Connection->Allow Big Result Sets
- Connection -> Use Compression
- Cursors/Results -> Force use of forward-only cursors
Опцию "Cursors/Results -> Dont't cache results of forward-only cursors" устанавливать не следует, т.к. это приведет к ошибкам при массовых INSERT`ах (см. http://barbitoff.blogspot.com/2011/09/ole-db-provider-msdasql-for-linked.html).
2) Перед созданием Linked Server в MS SQL Server Management Studio зайти в Server Objects -> Linked Servers -> Providers -> Кликнуть правой кнопкой мыши по MSDASQL и зайти в Properties, где установить следующие галочки:- Nested queries
- Level zero only
- Allow inprocess
- Supports ‘Like’ Operator
Именование таблиц связанного сервера при выполнения SQL-запросов будет следующее: LINKED_SERVER_NAME...TABLE_NAME, т.е. между именем связанного сервера и именем таблицы ставится три точки, например:
SELECT TOP 10 * FROM MYSQL_SERVER...BRANDS
Комментариев нет:
Отправить комментарий