1

我正在尝试在我的 Windows 2003 x64 中安装最新版本的 pymssql (1.0.2)。但是,我不断收到此错误:

running install
running build
running build_py
running build_ext
building '_mssql' extension
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-Ic:\Program Files\Microsoft SQL Server\80\Tool
s\DevTools\Include" -Ic:\mssql7\DevTools\Include -Id:\DEVEL\pymssql-DEVTOOLS\INCLUDE -Ic:\Python27\include -Ic:\Python27\PC /Tcmssqldbmodule.c /Fobuil
d\temp.win32-2.7\Release\mssqldbmodule.obj
mssqldbmodule.c
mssqldbmodule.c(50) : fatal error C1083: Cannot open include file: 'sqlfront.h': No such file or directory
error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' failed with exit status 2

有任何想法吗?sqlfront.h 是否包含在 Visual Studio 2k8(或任何 Visual Studio)的安装中

谢谢!

4

2 回答 2

0

我认为尚未为头文件和库设置目录<pymssql root>\freetds\vs2008_32\ (或者如果您使用 64 位 python)。<pymssql root>\freetds\vs2008_64\

关于 freetds,请查看 README_building_and_developing.rst 的“Building FreeTDS”部分。

于 2014-02-15T15:45:58.517 回答
0

我在使用 Visual Studio 2008、Windows 7 64 和 Python 2.7(32 位)时遇到了同样的问题。

这些是我解决它的步骤:

  1. 安装 Visual Studio 2008(32 位)。
  2. 安装 Visual Studio 6。
  3. 安装 Python 2.7(32 位)
  4. 下载 pymssql(你下载的同一个包)
  5. 尝试编译源代码(与您遇到错误时所做的相同,您将再次获得它)。
  6. 在 setup.py 所在的同一目录中,您应该找到一个名为mssqldbmodule.c的文件,打开它。
  7. 更改行#include <sqlfront.h>#include <sqldb.h>To #include "sqlfront.h"#include "sqldb.h"因此编译器将在本地查找 sqlfront.h 和 sqldb.h 文件。
  8. 将文件sqlfront.hsqldb.h从:C:\Program Files (x86)\Microsoft Visual Studio\VC98\Include(Visual Studio 6 安装)复制到本地目录(setup.py 所在的位置)。
  9. 将文件NTWDBLIB.LIB从复制C:\Program Files (x86)\Microsoft Visual Studio\VC98\Lib 到本地目录。
  10. 再次运行setup.py install

这样,您将使用pymssql使用的已弃用的 NTWDBLIB 编译库。

于 2013-08-28T13:49:37.577 回答