首页 文章

sqlcmd无法找到存在的库(libmsodbcsql-17.0.so.1.1)

提问于
浏览
3

我在Ubuntu 16.04上尝试使用 sqlcmd 从脚本中以编程方式启动,在VM的 Cloud 中执行SQL查询 .

vm-dev:~$ sudo sqlcmd -S my-db.url.net -d my-db

我一直收到这个错误:

Sqlcmd:错误:用于SQL Server的Microsoft ODBC驱动程序17:无法打开lib'/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.0.so.1.1':找不到文件 .

但文件显然在那里:

vm-dev:~$ ls /opt/microsoft/msodbcsql17/lib64/

libmsodbcsql-17.0.so.1.1

2 回答

  • 0

    我留下了适合我的脚本 .

    我的问题与你的问题非常相似,我测试了所有选项,例如更改驱动程序位置,制作符号链接,修改/etc/*.ini文件等等......没有任何效果 .

    我的问题,在alpine的docker容器中运行python 3.6,pyodbc包是库 libssl1.0.0

    在这里,您将找到使用驱动程序v13的my installation script for pyodbc Debian 8 (alpine) docker image

    DRIVER = {SQL Server的ODBC驱动程序13}

    我为数据库连接运行的命令是:

    import pyodbc
    connection_string = 'DRIVER={ODBC Driver 13 for SQL Server};'
    connection_string += 'SERVER={0};DATABASE={1};UID={2};PWD={3};'.format(host,dbname,user,pwd)
    connection = pyodbc.connect(connection_string)
    
  • 3

    I have same problem, this solution worked for me: you have to downgrade the msodbcsql version,

    • apt-get删除msodbcsql

    • apt-cache madison msodbcsql

    • apt-get install msodbcsql = 13.1.9.2-1

    • apt-cache madison mssql-tools

    • ACCEPT_EULA = Y apt-get install mssql-tools = 14.0.6.0-1

    • apt-mark hold mssql-tools

    • apt-mark hold msodbcsql

    I got this solution from this link:

    https://github.com/Microsoft/msphpsql/issues/684

相关问题