我正在尝试使用 pyodbc 在 Azure ML Workbench 中导入数据框。这适用于本地运行,但不适用于 docker。尝试建立与 SQL Server 的连接时失败,因为驱动程序不存在。
cnxn = pyodbc.connect('DRIVER='{ODBC Driver 13 for SQL Server}';PORT=1433;SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+ password)
错误信息:
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 13 for SQL Server' : 找不到文件 (0) (SQLDriverConnect)")
在寻找解决方案时,我发现我可以将这些行放在 docker 文件中
添加 odbcinst.ini /etc/odbcinst.ini
运行 apt-get 更新
运行 apt-get install -y tdsodbc unixodbc-dev
运行 apt install unixodbc-bin -y
运行 apt-get clean -y
但是,我是 docker 新手,无法弄清楚将这些行放在 ML Workbench 中的哪个位置。似乎 docker 文件是通过docker.compute和conda_dependencies.yml生成的,但是在解决方案中的任何一个或任何其他内容中都找不到与上述行类似的内容。