【发布时间】:2019-07-01 15:28:41
【问题描述】:
我正在尝试从我的 Python 应用程序打开 Excel 的 ADODB 连接。代码如下:
# Create Connection object and connect to database.
ado_conn = win32com.client.gencache.EnsureDispatch('ADODB.Connection')
ado_conn.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Test1.xlsx; Extended Properties ='Excel 12.0 Xml;HDR=YES'";
ado_conn.Open()
# Now create a RecordSet object and open a table
oRS = win32com.client.gencache.EnsureDispatch('ADODB.Recordset')
oRS.ActiveConnection = ado_conn # Set the recordset to connect thru oConn
oRS.Open("SELECT * FROM [Orders]")
当我调试应用程序时,它会抛出错误:
com_error(-2147352567, '发生异常。', (0, 'Microsoft Access 数据库引擎', "Microsoft Access 数据库引擎找不到对象'Orders'。确保对象存在并且拼写它的名称和路径名正确。如果“订单”不是本地对象,请检查您的网络连接或联系服务器管理员。", None, 5003011, -2147217865), None)
在 Excel 工作表中,连接字符串如下所示:
Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=Orders;Extended Properties=""
命令文本是:
Select * from [Orders]
即使连接在那里,它也会抛出这个错误。
如何从 Python 应用程序执行上述 Excel 查询?
编辑:下方添加了 Excel 连接屏幕截图
【问题讨论】:
-
所以您使用 Python 从 Excel 中调用 SQL 查询来查询 Access 数据库?
-
@JerryM。它是 SAP 数据库。
标签: python excel python-3.x