Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 linked server для MySQL  [new]
aliczar
Member

Откуда:
Сообщений: 47
хочу сделатьтрансферинг из MSSQL в MySQL.
через SSIS что-то не получается, точнее получается, но всунуть в задание,чтобы каждодневно этого не делать, не получается... какие-то проблемы с доступами.

решил попробовать другим путём. скажем прицепить необходимую базу данных Mysql как привязанную таблицу к mssql серверу и потом простыми скл запросами делать трансферинг.

создаю в ьэнеджмент студио этот линкед сервер со строкой
Driver={MySQL ODBC 3.51 driver};Server=;Port=3306;Option=131072;Stmt=;Database=mydb;Uid=myuser;Pwd=mypassword

всё удачно создаётся и при заходе в этот сервер видятся таблички.
а вот запрос сделать не получается...
при попытке создать запрос програмно, то есть через праую кнопку SELECT to > new query editor window у меня выдаёт следующее
-- [LH].[mydb]..[cdcompanies] contains no columns that can be selected or the current user does not have permissions on that object.
а при простом
SELECT * FROM [LH].[mydb]..[cdcompanies]
An invalid schema or catalog was specified for the provider "MSDASQL" for linked server "LH".
не могу понять где ошибка?
23 июн 09, 18:14    [7334736]     Ответить | Цитировать Сообщить модератору
 Re: linked server для MySQL  [new]
cvasil
Member

Откуда:
Сообщений: 519
Недавно тоже возился с импортом данных из MySQL.
Перепробовал несколько вариантов и остановился на этом.
24 июн 09, 06:36    [7335772]     Ответить | Цитировать Сообщить модератору
 Re: linked server для MySQL  [new]
aliczar
Member

Откуда:
Сообщений: 47
ммм..ну во-первых,мне не надо из mysql to mssql, а надо наоборот.
и во-вторых, прожка платная%) а я знаю что есть бесплатные способы идаже знаю какие, просто у меняони не получаются, где-то ошибаюсь или не то делаю и потому не выходит...собсвенно поэтому ина форум обратился....
24 июн 09, 10:17    [7336057]     Ответить | Цитировать Сообщить модератору
 Re: linked server для MySQL  [new]
Mad Gary
Member

Откуда:
Сообщений: 5
Очень актуальная проблема. imho
Тоже всю неделю бьюсь над этим. Результаты пока не вдохновляют.
С DTS от MSSQL 2000 проблем не было, теперь же купили 2008... Все бы хорошо, но этот SSIS c обломком Visual Studio, честно признаться, вызывает желание биться об стену.

ОС Win2008SBS x64 со стандартным выпуском MSSQL2008.

Пробовал следующее:
SSIS + .Net провайдер 6.04 и 5.15 - читать данные можно, но как только пытаешься наоборот, закачать что-то в MySql - полный швах.

Во-первых во всех запросах подставляются двойные кавычки вокруг имен. Во вторых..., короче вот:

автор
For the ADO.NET Destination to work properly, the MySQL database needs to have the ANSI_QUOTES SQL_MODE option enabled. This option can be enabled globally, or for a particular session. To enable it for a single session:
Create an ADO.NET Connection Manager which uses the ODBC driver Set the connection manager’s RetainSameConnection property to True Add an Execute SQL Task before your data flow to set the SQL_MODE – Ex. set sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ANSI_QUOTES' Make sure that your Execute SQL Task and your ADO.NET Destination are using the same connection manager. Setting the RetainSameConnection property to True will ensure that your Execute SQL Task and ADO.NET Destination are in the same session.
Note, I recommend using the ODBC Driver when writing to the MySQL database, because the MySQL .NET Connector has an additional blocking issue. If you try it out, you’ll get an error which looks something like this:
Error: 2009-01-05 12:03:47.79
Code: 0xC020844B
Source: Data Flow Task 1 Destination - Query [28]
Description: An exception has occurred during data insertion, the message returned from the provider is: You have an
error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use nea
r '"name", "date", "type", "remark") VALUES (p1, p2, p3, p4), (p1,p2,p3,p4), (p1,p2' at line 1
End Error



С ODBC 3.51 и 5 - тоже не получается. С 3 версией вообще какие-то проблемы с доступами.

C Linked Server - ровно та же лажа.

В общем, запутался уже. Начинаю задумываться о Power Shell, только ни фига в нем не смыслю
24 июн 09, 11:58    [7336691]     Ответить | Цитировать Сообщить модератору
 Re: linked server для MySQL  [new]
aliczar
Member

Откуда:
Сообщений: 47
ммм..может сегодня голова р\лучше работает а может сервер фигово настроен, но попытался воспроизвести свои действия в локальной сети(два компа в разных подсетях:192.168.4.89-mysql и 192.168.1.4-mssql)
значит что я сделал, на машине mssql настроил в ODBC подключение к к машине mysql. тест подключение удачное. далее при создании линкед сервера:
linked server: mysql
Provider: Microsoft OLE DB Provider fo ODBC
Product Name: mysqlConn
Data Source: mysqlConn

где mysqlConn это имя подключения ODBC к серверу с mysql
и далее запросы
select * from openquery(mysql, 'select * from cdcompanies') 
delete from openquery(mysql, 'select * from cdcompanies') where id=1
select * from openquery(mysql, 'select * from cdcompanies')
удалет:)

но вот подключится к мускулу в интернете не получается...мне пишет следующее
TITLE: Microsoft SQL Server Management Studio
------------------------------

Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

Cannot obtain the schema rowset "DBSCHEMA_CATALOGS" for OLE DB provider "SQL Server" for linked server "(null)". The provider supports the interface, but returns a failure code when it is used. (Microsoft SQL Server, Error: 7311)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=7311&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------
я не великий спец в базах,лишь поверхностный пользователь и толком понять что ему не нравится не могу...
что это за DBSCHEMA_CATALOGS
то ли он не может получить инфу о самой базе в мускд то ли ещё что-то.. подскажите пожалуйста знающие люди.
24 июн 09, 12:20    [7336860]     Ответить | Цитировать Сообщить модератору
 Re: linked server для MySQL  [new]
aliczar
Member

Откуда:
Сообщений: 47
gправда чегото вставку не могу сделать..выборка и делет работает а инсёрт нет:(
insert openquery(AAL, 'select name from cdcompanies') values('123');

Msg 7390, Level 16, State 2, Line 13
The requested operation could not be performed because OLE DB provider "MSDASQL" for linked server "AAL" does not support the required transaction interface.
24 июн 09, 13:41    [7337467]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить