python3.5+pymssql+pyinstaller 编译exe 出错问题

在python下面使用数据库真不是件容易的事情。

首先是资料太少,库虽然多,但是中英文的文档却少的可怜!


下面是我使用Python操作远程SQL SERVER的一些心得。


操作环境:

win7, python3.5, Pymssql


首先连接:

conn = pymssql.connect(host="192.168.0.100", user="sa", password="pwd", database="databasename", charset="utf8")

 pymssql这个连接方式非常贴心,比Pyodbc要好很多,起码不用知道数据库具体属于SQL SERVER哪种类型,

也试着用pyqt5来着,可是总是连不上,

from PyQt5.QtSql import *
print(QSqlDatabase.drivers())
总是返回[],网上也没找到谁遇见过,可能是我PyQt5没安装好的缘故吧!

pymssql用着很舒服,比较直观。

conn = pymssql.connect(host="192.168.0.100", user="sa", password="pwd", database="databasename", charset="utf8"))
cur = conn.cursor()if not cur: QMessageBox.question(self, '提示:', '数据库连接失败,请检查!', QMessageBox.Yes)sql = "SELECT * FROM test_cit where flag = 1 and( sn = '"+str_mach_SN+"' and imei = '"+str_mach_IMEI+"')"cur.execute(sql)retList = cur.fetchone()if not retList: QMessageBox.question(self, '提示:', 'SNimei在数据库中不存在,请检查!', QMessageBox.Yes)cur.close()conn.close()

运行也能顺利完成检索任务。

兴冲冲的去发布的时候,问题就来了。而且整整耗了我四天啊!

我用的是pyinstaller -F -w来生成单独的exe 文件,问题是总是出现


去问了百度,方法千奇百怪但是每一个能解决的。甚至英文的关于pyinstaller文档,pymssql源代码都整了好多,还是不怎么明白。

不过如果万能的百度解决不了问题,那只能是搜索的姿势不对。

后来搜到一篇文章,提到先 pyinstaller 不加参数看log,终于有些明白了,不加参数然后从cmd运行生成的.exe

发现说缺少__mssql模块,什么鬼?

百度一下果然很大解决办法:

http://www.tuicool.com/articles/7RbU3i


后来.py文件加了下面代码,终于守着云开见天日了!!

import pymssql
import uuid
import _mssql
import decimal
import pypyodbc
decimal.__version__
uuid.ctypes.__version__
_mssql.__version__


猜你喜欢

转载自blog.csdn.net/m0_37509180/article/details/72576177
今日推荐