ODBC-соединение от 64-разрядного SQL Server до источника данных Informix

Я пытаюсь создать связанную таблицу в 64-разрядном SQL Server для Informix, а SQL-сервер не перечисляет Informix ODBC в списке DSN. Однако я загрузил 64-битный SDK Informix Client, несмотря на то, что он указывает 64-битный SDK Informix Client, он появляется только в 32-битном ODBC DSN. Я попытался создать связанную таблицу в 32-разрядном SQL Server, и тогда мне удалось увидеть Informix ODBC DDN.

Мне просто интересно, что если есть SDK Informix Client, который будет отображаться в DSN 64-ODBC, а не 32-битный?

Также есть способ связывания 64-разрядного SQL Server с Informix, пожалуйста? Благодарю.

sql-server,informix,

3

Ответов: 4


3

Создайте ссылку DB в SQL Server для Informix

Я использовал следующую среду программного обеспечения:

  • SQL Server 2012
  • Informix SDK 4.10 FC2
  • Informix 11.5

Сначала установите некоторые свойства для драйвера Ifxoledbc:

Задайте свойства IFX Oledbc

Задайте свойства IFX Oledbc

Затем создайте связанный сервер:

Создание нового связанного сервера

Общие настройки - Datasource - это ваша БД и имя вашего сервера

Установить общую информацию

Параметры безопасности - добавление действительных учетных данных базы данных Informix

Настройки безопасности

Параметры сервера - установите RPC и RPC Out в True

Параметры сервера

Я использую ссылку db для вызова хранимой процедуры в Informix и записи данных на SQL Server.


1

Вы использовали 64-разрядную версию ODBCAD32.EXE для создания DSN?

Существует две версии администратора ODBC.

Это 32-битная версия:

C:WindowsSysWOW64odbcad32.exe

Он может видеть только 32-битные драйверы, и только 32-битные процессы могут видеть, что это DSN

Это 64-разрядная версия:

C:WindowsSystem32odbcad32.exe

Он может видеть только 64-битные драйверы, и только 64-битные процессы (например, SQL Server 64 бит) могут видеть, что это DSN

Еще лучше вы можете определить соединение без DNS, которое не использует DSN, оно напрямую использует драйвер. Тогда вы можете избежать этого запутанного шага в целом.


0

Я бы использовал функцию «Комментарий», но у меня недостаточно «очков репутации» для этого.

Ответ SGeis, выше, на деньги. Мне было трудно найти такой ясный, прямой ответ. Снимки диалоговых окон очень помогают.

Позвольте мне добавить к его ответу следующее:

  1. Заполнение источника данных (YourDatabaseName @ YourInformixServerName) может быть чем-то простым, чем Fred @ Barney, а не тем, что я пытался, а именно Fred@199.188.77.66 или Fred@199.188.77.66: 32002 (последний указывает порт / службу номер).

  2. После создания связанного сервера, если вы вернетесь на страницу «Общие свойства», вы увидите, что вы не можете редактировать то, что вы набрали для Linked Server, Product Name (Почему это не называется «Имя поставщика», поскольку Ifxoledbc указан в Связанные серверы / Провайдеры в дереве обозревателя объектов?), Источник данных и т. Д. Итак, если ваше соединение терпит неудачу, потому что вы что-то не поняли, неясно, как его исправить.

Вот что вы можете сделать:

  1. Щелкните правой кнопкой мыши связанный сервер.

  2. Под «Test Connection» найдите «Script Linked Server as».

  3. Нажмите последний, а затем, каждый из следующих: «DROP AND CREATE To» и «New Editor Editor Window».

  4. В появившемся тексте скрипта введите информацию о замене для тех настроек, которые были недоступны и недоступны.

  5. Нажмите F5, чтобы запустить сценарий и тем самым применить свои изменения. При этом существующий связанный сервер отбрасывается, и создается новый.

  6. Откройте страницу свойств безопасности связанного сервера и повторно введите любой пароль для подключения (хотя в соответствующей записи могут появляться звездочки, указывающие на то, что пароль заполнен и исправлен). Также просмотрите страницу «Общие свойства». Убедитесь, что ваши изменения застряли. Несмотря на то, что вы запускали скрипт и не получали никаких ошибок, SQL Server будет заполнять заполняющие надстройки, такие как «Связанный сервер», «Имя продукта» и «Источник данных», если, например, у вас, как и я, был мозг аневризм и выбрал неправильный раскрывающийся элемент для «Поставщика».

  7. Как отмечено выше, нажмите «Проверить соединение», чтобы убедиться, что ваши изменения работают.


0

Мне удалось установить связанный сервер без ifxoledbc. Как только мой системный DSN для 64-битного ODBC-драйвера был настроен (и протестирован OK), я настроил связанный сервер с помощью поставщика Microsoft OLE DB для драйверов ODBC.

Связанный сервер:
поставщик UCCX: поставщик Microsoft OLE DB для драйверов ODBC
Название продукта: драйвер IBM ODBC IBM Informix (возможно, это может быть что угодно, но я назвал его так же, как и драйвер ODBC, и он работал).
Источник данных: UCCX (имя вашего системного DSN).

На вкладке безопасности я сопоставил локальный логин с тем же удаленным пользователем / паролем, который был настроен в самом системном DSN.

И еще один способ потребления системной DSN - через OPENROWSET. Это работает даже без настройки связанного сервера:

select *
from    openrowset('MSDASQL', 'DSN=UCCX', '
            select * from ContactCallDetail
            where   StartDateTime >= ''2017-03-10 00:00:00''
            and     StartDateTime < ''2017-04-10 00:00:00''
            limit 10'
        ) p
SQL-сервер, Informix,
Похожие вопросы