在 Lambda 函数中引入 pyodbc 库,并使用它来连接 ODBC,而不是使用 pypyodbc。使用 pyodbc 连接 ODBC 时也需要设置 ODBC 驱动程序的路径和 DSN。下面是示例代码:
import os
import pyodbc
def lambda_handler(event, context):
conn_str = (
"DRIVER={ODBC Driver 17 for SQL Server};"
"SERVER=.database.windows.net;"
"DATABASE=;"
"UID=;"
"PWD="
)
os.environ['ODBCINI'] = '/var/task/.odbc.ini'
with open('/var/task/.odbc.ini', 'w') as odbc_ini_file:
odbc_ini_file.write('[ODBC Driver 17 for SQL Server]\nDriver=/var/task/libmsodbcsql-17.5.so.2.1\n')
cnxn = pyodbc.connect(conn_str)
cursor = cnxn.cursor()
cursor.execute('SELECT 1;')
row = cursor.fetchone()
return str(row[0])
在上述代码中,首先设置了 ODBC 连接字符串,其中 DRIVER 指定了 ODBC 驱动程序,SERVER 指定了 SQL Server 实例名,DATABASE 指定了数据库名称,UID 和 PWD 指定了连接的身份验证凭据。
然后,通过 os 模块设置 ODBC 驱动程序的路径和 DSN 配置,这里假设驱动程序是 libmsodbcsql-17.5.so.2.1。
最后,使用 pyodbc 连接 ODBC 并执行查询。