导入pyodbc结果为Apache HTTP Server中的内部服务器错误

时间:2017-11-30 10:32:39

标签: python-3.x apache pyodbc sql-server-2017

执行cmd为 c:\> pip install pyodbc
将创建“ pyodbc.cp36-win32.pyd ”文件

 Collecting pyodbc   Using cached
 pyodbc-4.0.21-cp36-cp36m-win32.whl Installing collected packages:
 pyodbc Successfully installed pyodbc-4.0.21

<小时/> 当我尝试在Apache24 Server中运行时,以下代码会导致内部服务器错误

import pyodbc 
cnxn = pyodbc.connect("Driver={ODBC Driver 13 for SQL Server};"
                      "Server=DESKTOP;"
                      "Database=demo2017;"
                      "Trusted_Connection=yes;")

cursor = cnxn.cursor()
cursor.execute('SELECT * FROM Table')

for row in cursor:
    print('row = %r' % (row,)) 

在python shell中运行为
      C:\ Apache24 \ htdocs&gt; python mssql_odbc.py
结果将正常显示。但不是在apache http服务器上。

在httpd.conf文件中:

 LoadModule pyodbc_module "c:/users/desktop/appdata/local/programs/python/python36-32/lib/site-packages/pyodbc.cp36-win32.pyd"

结果

 httpd: Syntax error on line 571 of C:/Apache24/conf/httpd.conf: Can't
 locate API module structure `pyodbc_module' in file
 C:/Users/Desktop/AppData/Local/Programs/Python/Python36-32/Lib/site-packages/pyodbc.cp36-win32.pyd:
 No error

那么是否应该导入/修改任何模块或代码?

1 个答案:

答案 0 :(得分:0)

在Apache 500内部错误解决 中。由于 导入pypyodbc 而不是导入pyodbc

在python shell中,我能够成功连接 python shell 以及数据库中的结果。

<小时/>