Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 如何使用adodbapi从MS Server Compact Edition(*.sdf)检索架构?_Python_Sql Server_Adodbapi - Fatal编程技术网

Python 如何使用adodbapi从MS Server Compact Edition(*.sdf)检索架构?

Python 如何使用adodbapi从MS Server Compact Edition(*.sdf)检索架构?,python,sql-server,adodbapi,Python,Sql Server,Adodbapi,在从本地文件(*.sdf)应用任何查询之前,我试图从数据库中获取模式。 到目前为止,当我知道模式时,我可以连接到数据库并执行查询 我尝试了两种方法,但都失败了 首先,我尝试使用 import adodbapi.schema_table as DB_schema temp2 =DB_schema.names(connection_handler) 但此操作失败,出现以下错误: raise AttributeError('no such attribute in ADO connection

在从本地文件(*.sdf)应用任何查询之前,我试图从数据库中获取模式。 到目前为止,当我知道模式时,我可以连接到数据库并执行查询

我尝试了两种方法,但都失败了

首先,我尝试使用

 import adodbapi.schema_table as DB_schema
 temp2 =DB_schema.names(connection_handler)
但此操作失败,出现以下错误:

raise AttributeError('no such attribute in ADO connection object as="%s"' % item)
AttributeError: no such attribute in ADO connection object as="adoConn"
(这是参考指南中的简单解决方案)

失败

然后,我试着

sql_querry_to_get_all_table_names_from_database = "SELECT Distinct TABLE_NAME FROM information_schema.TABLES"
cursor.execute(sql_querry_to_get_all_table_names_from_database)
这也会失败,并显示一条稍有不同的消息:

adodbapi.apibase.DatabaseError: (-2147352567, 'Exception occurred.', (0, u'Microsoft SQL Server Compact OLE DB Provider', u'Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.', None, 0, -2147217887), None)
Command:
SELECT Distinct TABLE_NAME FROM information_schema.TABLES
Parameters:
[]
在compact view上执行相同的查询时效果良好

任何想法都是非常受欢迎的


还有别的办法吗?(我尝试过odbc、mssql,但到目前为止运气不好)

使用adodbapi 2.6.0.7版:

连接到数据库后,连接具有以下方法:

myconnection.get_table_names()
返回模式,如参考指南中所述:

对我来说,这仅在更改连接器光标位置后起作用:

myconnection.connector.CursorLocation = 2
这会将光标位置更改为服务器端,我在这里发现了一个技巧:

myconnection.connector.CursorLocation = 2