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