pyodbc segfault打开pyodbc.conn公司

2024-04-18 14:11:46 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有点小麻烦。我正在尝试创建一个python脚本来对基于SQL的数据库进行压力测试。在

我一直试图使用pyodbc连接到数据库,但是在pyodbc.connect(连接字符串)

#connects to the database
def connectToDb():
print(labels.OKBLUE + "Connecting to: " + args.ip + " at port: " + args.port)

connString = ""
connString = connString + ';DRIVER=' + args.driver
connString = connString +';SERVER=' + args.ip
if not args.port == "":
    connString = connString + ';PORT=' + args.port
connString = connString + ';UID=' + args.user
connString = connString + ';PWD=' + args.password
connString = connString + ';Encrypt=yes;Connection Timeout=30'
if not args.database == None or not args.database == "":
    connString = connString + ";Database=" + args.database
try:
    print(connString) #for debugging
    conn = pyodbc.connect(connString)
except pyodbc.Error as ex:
    for arg in ex.args:
        print(labels.FAIL + arg )
    sys.exit()

它返回这个:

^{pr2}$

我只是想连接到一个本地的mysql服务器,我不知道是什么原因造成的,任何帮助和建议都非常感谢

编辑:

debian jessie as操作系统

python 3最新版本

odbc最新版本

免费TDS v0.91

TDS版本4.2

--乔特


Tags: to版本ip数据库forlabelsifport
1条回答
网友
1楼 · 发布于 2024-04-18 14:11:46

问题的根本原因是您试图使用FreeTDS ODBC驱动程序访问MySQL数据库。FreeTDS ODBC仅用于连接到Microsoft SQL Server和Sybase数据库。用于连接到MySQL数据库的ODBC驱动程序是MySQL Connector/ODBC。在

值得一提的是,我可以在Ubuntu 16.04下使用Ubuntu存储库中的FreeTDS ODBC驱动程序重现您的问题。在“Segmentation fault(core dumped)”错误之后,堆栈跟踪表明错误实际上发生在FreeTDS ODBC驱动程序本身(libtdsodbc.so). 在

虽然可以说分段错误不应该“永远不会发生”,但是试图升级这个问题可能没有意义。这是典型的

病人:我这样做很疼。
医生:那就别这么做了。在

相关问题 更多 >