Настройка драйверов ODBC в Linux

Я выполнил все шаги по этой ссылке: https://code.google.com/p/pypyodbc/wiki/Linux_ODBC_in_3_steps

Но я все еще получаю эту ошибку:

[unixODBC][Диспетчер драйверов] Имя источника данных не найдено, и драйвер по умолчанию не указан

Затем, когда я начал исследовать больше, я нашел это: указанный">https://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified

Теперь он говорит изменить файл odbc.ini, чтобы включить имя сервера и базы данных. Но если я пытаюсь подключиться к нескольким серверам одновременно, как мне настроить файл odbc.ini в этом случае?

Кроме того, в строке подключения к базе данных мне следует вводить имя драйвера как {SQL Server} или {FreeTDS}?


person 90abyss    schedule 08.10.2015    source источник


Ответы (2)


Вот пример, настроенный с помощью FreeTDS, unixODBC и др.:

freetds.conf:

[server1]
        host = one.server.com
        port = 1433
        tds version = 7.3

[server2]
        host = two.server.com
        port = 1433
        tds version = 7.3

odbc.ini:

[server1]
Driver = FreeTDS
Server = one.server.com
Port = 1433
TDS_Version = 7.3

[server2]
Driver = FreeTDS
Server = two.server.com
Port = 1433
TDS_Version = 7.3

odbcinst.ini:

[FreeTDS]
Description = FreeTDS with Protocol up to 7.3
Driver = /usr/lib64/libtdsodbc.so.0

Местоположение Driver = может отличаться, в зависимости от вашего дистрибутива FreeTDS.

pyodbc connect, DSN бесплатно:

DRIVER={FreeTDS};SERVER=one.server.com;PORT=1433;DATABASE=dbname;UID=dbuser;PWD=dbpassword;TDS_Version=7.3;

Несколько заметок:

  • Вам нужно будет обновить версию TDS, чтобы она соответствовала версии SQL Server, которую вы используете, и версии Free TDS, которую вы используете. Версия 0.95 поддерживает TDS версии 7.3.
  • TDS версии 7.3 будет работать с MS SQL Server 2008 и выше.
  • Используйте TDS версии 7.2 для MS SQL Server 2005.

Подробнее см. здесь:

https://msdn.microsoft.com/en-us/library/dd339982.aspx

Удачи.

person FlipperPA    schedule 11.10.2015

если я пытаюсь подключиться к нескольким серверам одновременно, как мне настроить файл odbc.ini в этом случае?

Если вы хотите подключиться к более чем одному серверу, вам нужно будет создать отдельную запись DSN для каждого из них и использовать более одного объекта pyodbc connection. Либо так, либо настройте «связанный сервер» на одном из экземпляров SQL Server, чтобы вы могли получить доступ к обоим через одно и то же соединение pyodbc.

в моей строке подключения к базе данных, я должен ввести имя драйвера как {SQL Server} или {FreeTDS}?

Если вы редактируете «odbc.ini», вы создаете записи DSN. Вы должны использовать имя DSN в строке подключения, а pyodbc получит подробности (имя сервера, имя базы данных) из соответствующей записи в «odbc.ini».

person Gord Thompson    schedule 09.10.2015