Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python pyodbc SQL Server本机客户端11.0无法返回几何体列_Python_Sql Server_Pyodbc - Fatal编程技术网

python pyodbc SQL Server本机客户端11.0无法返回几何体列

python pyodbc SQL Server本机客户端11.0无法返回几何体列,python,sql-server,pyodbc,Python,Sql Server,Pyodbc,我已经使用python 2.7安装了SQL Server本机客户端11.0和pyodbc。我能够在python中正确设置连接 import pyodbc conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=b;DATABASE=b;UID=b;PWD=b') cur=conn.cursor() query=cur.execute('''select top 1 * from table''') for x in

我已经使用python 2.7安装了SQL Server本机客户端11.0和pyodbc。我能够在python中正确设置连接

import pyodbc
conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=b;DATABASE=b;UID=b;PWD=b')
cur=conn.cursor()
query=cur.execute('''select top 1 * from table''')
for x in query.fetchall():
    print x

Traceback (most recent call last):
  File "<module1>", line 8, in <module>
ProgrammingError: ('ODBC SQL type -151 is not yet supported.  column-index=40  type=-151', 'HY106')
如何返回查询

如果我只是打印查询,我将在0x02B74AD8处获得
pyodbc.Cursor对象

可能是无法读取的列类型,此表中存在点几何图形

更新

问题在于点几何体。当我取出几何体时,我可以返回光标包含的内容。但是,当几何体列位于其中时,它始终会出现此错误。我假设pyodbc不支持几何对象。。。作为一种解决办法,我可以根据GitHub问题转换为WKT

,以下内容似乎可以解决这个问题:

def解包几何体(原始字节):
#根据SSCLRT信息改编
#   https://docs.microsoft.com/en-us/openspecs/sql_server_protocols/ms-ssclrt/dc988cb6-4812-4ec6-91cd-cce329f6ecda

tup=struct.unpack('修复了类似的问题:问题似乎是pyodbc返回几何体
for x in query:
   print x