首页 > 解决方案 > SQL Server pyodbc 驱动程序问题:libc++abi.dylib:以 std::runtime_error 类型的未捕获异常终止

问题描述

我正在尝试在我的 Mac 上使用 python 和 pyodbc 连接到我的 SQL Server 数据库。我运行时得到的完整错误是:

libc++abi.dylib:以 std::runtime_error 类型的未捕获异常终止:collat​​e_byname::collat​​e_byname 无法为 C/en_CA 构造。

使用驱动程序连接的 Python 代码是:

import pyodbc

cnxn = pyodbc.connect("Driver={ODBC Driver 17 for SQL Server}"
                  "Server=simvo-dbs.database.windows.net,1433;"
                  "Database=degree-planner-db;"
                  "UID=simvo_admin@simvo-dbs;"
                  "PWD=McGill_514;"
                  "loginTimeout=30;")

其他相关文件:

odbcinst.ini:

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.17.dylib
UsageCount=1

odbc.ini:

[MSSQL]
TDS_Version = 7.3
Driver = ODBC Driver 17 for SQL Server
Server = simvo-dbs.database.windows.net
Port = 1433

任何关于问题是什么的想法将不胜感激。我正在使用 MAC。

标签: sql-serverodbcdriverpyodbc

解决方案


据我所知,我有同样的问题并且没有解决方案。但是您可以像这样运行脚本来解决它:

env LANG=C python3 myscript.py

我希望它有所帮助。


推荐阅读