Драйвер Pyodbc / DSN не найден AWS лямбда - работает на EC2 - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь подключиться к SQL Server, используя PYODBC внутри AWS Lambda. Я установил экземпляр EC2 и установил все необходимые зависимости и пакеты. Я могу запросить SQL в EC2, но не в Lambda.

Похоже, мне не хватает конфигурации или библиотеки для настройки соединений при упаковке. Я скопировал драйвер SQL в /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1 расположение. При необходимости скопировали файлы odbc.ini и odbcinst.ini. Скопировал также libtds и libodc *.

Ошибка, которую я получаю при упаковке всех библиотек и зависимостей в лямбда-пакет, приведена ниже:

[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)

Мои odbc.ini и odbcinst.ini ниже:

odbc.ini 
[DEV] 
Driver = ODBC Driver 17 for SQL Server 
Description = DEV 
Trace = No 
Server = abc.net,1234

odbcinst.ini 
[ODBC Driver 17 for SQL Server] 
Description=Microsoft ODBC Driver 17 for SQL Server 
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1 
UsageCount=1 

Я попытался предоставить DSN, а также явно упомянуть имя драйвера и сервера в pyodbc.connect. Все еще не повезло!

Буду признателен за любую помощь или направление!

ТИА

1 Ответ

0 голосов
/ 11 июня 2019

После просмотра нескольких блогов и ссылок ответ так же прост, как и явное упоминание местоположения драйвера при подключении с помощью pyodbc.

conn = pyodbc.connect('Driver=msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1;Server=server,port;UID=uname;PWD=pwd;database=db_name;Encrypt=YES;TrustServerCertificate=Yes')
...