首页 文章

你如何在Azure机器学习工作台中使用pyodbc

提问于
浏览
1

我正在尝试使用pyodbc在Azure ML Workbench中导入数据帧 . 这适用于本地运行,但不适用于docker . 尝试 Build 与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]无法打开lib'用于SQL Server的ODBC驱动程序':找不到文件(0)(SQLDriverConnect)”)

在搜索解决方案时,我发现我可以将这些行放在docker文件中

ADD odbcinst.ini /etc/odbcinst.ini RUN apt-get update RUN apt-get install -y tdsodbc unixodbc-dev RUN apt install unixodbc-bin -y RUN apt-get clean -y

但是我是docker的新手,并且无法弄清楚将这些线放在ML Workbench中的位置 . 似乎docker文件是通过 docker.computeconda_dependencies.yml 生成的,但是在解决方案中的任何一个或其他任何地方都可以找到与上面的行类似的内容 .

1 回答

  • 2

    您可以使用所需的依赖项构建docker镜像,并在docker.compute文件中指定您的图像名称:

    baseDockerImage:<your docker image name>
    

    我创建了azml_pyodbc image,您可以尝试使用它:

    baseDockerImage: "aksanakuzmitskaya/azml_pyodbc:firsttry"
    DRIVER='{ODBC Driver 17 for SQL Server}'
    

相关问题