用py2exe打包包含pymssql连接sql server遇到问题

今天用py2exe编译一个用pymssql连接SQLServer的程序。编译正常通过,但双击运行生成的.exe文件时,弹出缺少ntwdblib.dll的警告框。如图下图所示:  用py2exe打包包含pymssql连接sql server遇到问题_第1张图片
这个问题好解决,只要找一个ntwdblib.dll就可以了。我相信在安装pymssql库时应该会有这个文件的,在Python的安装目录下搜索这个文件,果然在Lib/site-packages文件夹下发现它了。拷贝到dist目录下,程序还是不能运行,但不报上面这个错误了,查看日志文件。有这么一句话:  
ImportError: No module named decimal
我在连接数据库的文件中加了条import语句把decimal模块导入进来,生成的.exe就可以正常运行了。产生这个错误的原因我分析是在 SQLServer数据库的表中,我用了decimal类型的字段。但为什么用Python解释器解释执行不需要import这个模块,我就不知道了。

 

出处:http://blog.csdn.net/lilee84/archive/2008/07/06/2616990.aspx  (感谢Lilee84朋友帮我解决了问题,节省了不少时间。)

你可能感兴趣的:(sql,数据库,server,python,sqlserver,exe,import)