首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyodbc.connect上的pyodbc段故障

pyodbc.connect上的pyodbc段故障
EN

Stack Overflow用户
提问于 2017-03-01 18:06:54
回答 1查看 1.6K关注 0票数 1

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

我一直在尝试使用pyodbc连接到数据库,但是我在pyodbc.connect(connectionString)上遇到了分段错误

代码语言:javascript
复制
#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()

这将返回以下内容:

代码语言:javascript
复制
;DRIVER={FreeTDS};SERVER=127.0.0.1;PORT=3306;UID=root;PWD=********;Encrypt=yes;Connection Timeout=30;Database=test

Segmentation fault

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

编辑:

debian jessie作为操作系统

python 3最新版本

odbc最新版本

freetds v0.91

TDS 4.2版

-- Jort

EN

回答 1

Stack Overflow用户

发布于 2017-03-02 00:08:45

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

无论如何,我能够在Ubuntu16.04下使用Ubuntu存储库提供的FreeTDS ODBC驱动程序重现您的问题。在“分段故障(核心转储)”错误之后,堆栈跟踪表明故障实际上发生在ODBC驱动程序本身(libtdsodbc.so)中。

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

病人:我这样做的时候很痛。

医生:那就别做了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42528741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档