SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.03.2015 19:20:11

quende
Участник
Зарегистрирован: 12.03.2015
Сообщений: 5

Связь MSSQL и MySQL (не трогая MSSQL)

Друзья мои, приветствую!

Столкнулся с, казалось бы, банальной проблемой.
Есть MySQL (сервер на Linux), доступ на который только через PHP myAdmin и есть MSSQL (на Windows), также с ограниченным доступом.

Есть задача: раз в день апдейтить данные из одной таблицы из MSSQL в аналогичную таблицу (структуры таблиц совпадают) в MySQL.
Возможности установки линка на стороне MSSQL, создание доп. триггеров или чегото подобного нет.
Есть возможность установки "чего то подобного" на MySQL

Банальный вопрос - чего именно ? smile

Есть гостевая учетка на MSSQL и есть root в PHPmyAdmin для MySQL.
Я так понимаю, что через cron на сервере с Linux мы создаем Job'ы с помощью которых и выполняем этот запрос. Однако, ведь так просто две эти СУБД не подружишь ? Что необходимо установить на сервер с MySQL, чтобы он мог через гостевую учетку "забирать" данные из MSSQL ?

Заранее благодарен за ответ!

Неактивен

 

#2 12.03.2015 19:22:16

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Связь MSSQL и MySQL (не трогая MSSQL)

Через ODBC-коннектор можно ведь и к mssql и к mysql дотянуться, поразмышляйте в этом направлении.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 12.03.2015 19:24:44

quende
Участник
Зарегистрирован: 12.03.2015
Сообщений: 5

Re: Связь MSSQL и MySQL (не трогая MSSQL)

Правильно ли я понимаю, что ODBC-коннектор мы ставим на стороне MySQL и через него "идем" на MSSQL ? (прошу прощения совсем уж за неосведомленность smile )

Неактивен

 

#4 12.03.2015 23:08:36

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Связь MSSQL и MySQL (не трогая MSSQL)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 13.03.2015 00:33:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Связь MSSQL и MySQL (не трогая MSSQL)

quende написал:

Возможности установки линка на стороне MSSQL, создание доп. триггеров или чегото подобного нет.

Т.е. возможности подключить таблицы MySQL как связанные в MSSQL у вас нет?
Тогда без использования третьих программ не обойтись. Поправьте кто, если не прав.

Например, на Linux сервере вы можете по крону запускать php скрипт, который будет брать данные из MSSQL и заносить их в MySQL.

Неактивен

 

#6 13.03.2015 07:18:36

quende
Участник
Зарегистрирован: 12.03.2015
Сообщений: 5

Re: Связь MSSQL и MySQL (не трогая MSSQL)

Спасибо за ответы.

Возможности подключить таблицы как связанные - нет.
Я к этому и веду, чтобы запускать некий скрипт - нужна связь, я же не могу в скрипте написать чистый SELECT из MSSQL smile точнее я то могу, но работать не будет smile
ODBC - ставится на сервер с MSSQL, так вот есть ли некий драйвер/коннектор, для установки его как раз на сервер с MySQL ? Читал про некую команду на php, mssql_connector с параметрами, однако его тоже необходимо устанавливать/подключать, поправьте если я не прав.
Пробовал загружать csv по расписанию, однако, как я понял, LOAD DATA INFILE в процедуре выполнятся не может, поэтому этот вариант тоже отпадает.
Странно что со стороны MSSQL есть такой коннектор, а с MySQL для подключения к SQL некоего "стандартного" коннектора нет ?

Неактивен

 

#7 13.03.2015 12:15:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Связь MSSQL и MySQL (не трогая MSSQL)

quende написал:

Я к этому и веду, чтобы запускать некий скрипт - нужна связь, я же не могу в скрипте написать чистый SELECT из MSSQL smile точнее я то могу, но работать не будет smile
ODBC - ставится на сервер с MSSQL, так вот есть ли некий драйвер/коннектор, для установки его как раз на сервер с MySQL ? Читал про некую команду на php, mssql_connector с параметрами, однако его тоже необходимо устанавливать/подключать, поправьте если я не прав.

У вас должен быть настроен php для работы с mssql, а далее
mssql_connect()
mssql_query( SELECT из mssql )
про особенности не скажу, т.к. сам такое не делал, но в сети есть масса руководств с примерами (в том числе инструкции по настройке php).


quende написал:

Пробовал загружать csv по расписанию, однако, как я понял, LOAD DATA INFILE в процедуре выполнятся не может, поэтому этот вариант тоже отпадает.

LOAD DATA INFILE не может выполняться в хранимых процедурах и событиях MySQL, но если у вас есть csv файл, то вы можете запускать по крону php скрипт, который будет делать LOAD DATA INFILE. Имхо, это самый простой путь решения.

Неактивен

 

#8 13.03.2015 12:21:40

quende
Участник
Зарегистрирован: 12.03.2015
Сообщений: 5

Re: Связь MSSQL и MySQL (не трогая MSSQL)

vasya написал:

LOAD DATA INFILE не может выполняться в хранимых процедурах и событиях MySQL, но если у вас есть csv файл, то вы можете запускать по крону php скрипт, который будет делать LOAD DATA INFILE. Имхо, это самый простой путь решения.

Вот и я так подумал. Поскольку с установкой доп ПО на сервер с MySQL "все сложно" smile.
Получается так, что никакого стандартного коннектора, чтобы "залезть" из MySQL в MSSQL нет ?
При этом, ODBC, который на стороне MSSQL - как раз скорее ближе к стандартным. Что же это за ущемления то такие ? smile

Неактивен

 

#9 13.03.2015 12:35:30

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Связь MSSQL и MySQL (не трогая MSSQL)

quende, в клиент-серверной терминологии MySQL и MSSQL - это сервера, поэтому задача подключения одного к другому сформулирована некорректно. Правильно сказать, что требуется клиент, способный подключиться и к MySQL и к MSSQL. PHP это может при условии установки mssql-коннектора. Так как речь о клиентском приложении, не обязательно его ставить на тот же физический сервер (здесь другое значение слова сервер), на котором стоит MySQL. Можно поставить на машину с MSSQL или на вирутальную машину рядом.

Неактивен

 

#10 13.03.2015 12:36:28

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Связь MSSQL и MySQL (не трогая MSSQL)

ODBC это и есть стандартный интерфейс для доступа к базам данных различных производителей (orecle, mssql, mysql, postgresql, ... )

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

Неактивен

 

#11 13.03.2015 12:51:28

quende
Участник
Зарегистрирован: 12.03.2015
Сообщений: 5

Re: Связь MSSQL и MySQL (не трогая MSSQL)

Друзья мои, спасибо за развернутые ответы.
Будем бороться дальше smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson