2

我已经构建了部署包以通过 pyodbc 连接到 AWS RDS 实例,在压缩并上传到 AWS lambda 之后,此连接有效。

尝试通过 AWS 层连接时,会显示以下错误。

"errorMessage": "('01000', \"[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 13 for SQL Server' : file not found (0) (SQLDriverConnect)\")",
  "errorType": "Error",

尝试在 odbcinst.ini 文件中更改驱动程序的路径,但没有成功

odbcinst.ini 文件中的文本示例

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/var/task/msodbcsql/lib64/libmsodbcsql-13.1.so.9.2
UsageCount=1
4

1 回答 1

1

如果您愿意使用 ODBC Driver 17,那么我推荐 Alexander 的 pyodbc 层,您可以在 GitHub 上找到它:https ://github.com/alexanderluiscampino/lambda-layers

当它第一次被构建时,还有一个对上下文有帮助的讨论:https ://gist.github.com/diriver63/b72a954fa0da4851d89e5086aa13c6e8

我自己用过这个,运气不错。我最初在发现 pyodbc 没有二进制轮子后发现它,因此 AWS SAM 不能简单地安装它:https ://github.com/awslabs/aws-sam-cli/issues/1577

于 2020-02-15T16:01:21.450 回答