*.sdf
在从本地 SQL Server Compact Edition 文件 ( )应用任何查询之前,我试图从数据库中获取架构。
到目前为止,当我知道架构时,我可以连接到数据库并执行查询。
我尝试过两次接近,但都失败了。
首先,我尝试使用
import adodbapi.schema_table as DB_schema
temp2 = DB_schema.names(connection_handler)
但这失败并出现以下错误:
raise AttributeError('在 ADO 连接对象中没有这样的属性 as="%s"' % item)
AttributeError: 在 ADO 连接对象中没有这样的属性 as="adoConn"
(这是参考指南中的简单解决方案)
还
connection_handler.get_table_names() #doesn't work
失败...
然后,我尝试了
sql_query_to_get_all_table_names_from_database = "SELECT Distinct TABLE_NAME FROM information_schema.TABLES"
cursor.execute(sql_query_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. 检查每个 OLE DB 状态值,如果可用. 没有完成任何工作。', None, 0, -2147217887), None)
命令:
SELECT Distinct TABLE_NAME FROM information_schema.TABLES参数:
[]
在紧凑视图上执行相同的查询时可以正常工作。
任何想法都非常受欢迎。
还有其他方法吗?(我尝试过 odbc、SQL Server,但到目前为止还没有运气)