【发布时间】:2022-11-22 16:15:19
【问题描述】:
看起来是个愚蠢的问题,但 Excel 365 默认会在您想要“获取数据”时创建新的查询类型连接。我们习惯于在工作中创建与 Oracle、SQL 服务器和 MS Access 数据库的 OLEDB 连接,而在以前版本的 Excel 中,这始终是一个数据连接。 Excel 365,默认创建新样式查询(数据选项卡,获取数据 -> 来自其他来源 -> 来自 OLEDB)。 这种新的查询方式不适合我们的需要。我还没有找到在 Excel 365 中创建旧式数据连接的任何方法。任何人都可以指导我如何做到这一点吗?
背景:
我们正在向客户发送包含数据的 Excel 文件,并使用 VB 脚本更改连接字符串和查询,以免发送过多的内部信息(表格、连接详细信息、凭据)。因此,我们从 VBScript 文件程序更新数据连接,我们在其中设置连接字符串,有时还设置命令文本。
我看到的差异:
在查询中,连接字符串类似于“OLEDB:Provider=Microsoft.Mashup.Oledb.1;Data Source = $Workbook$;Location=CURRENT_PERIOD;Extended Properties=""
命令文本是“select * from [Query1]”
在此处更改命令文本会导致错误“[Expression.Error] 导入耗材不匹配任何导出。您是否错过了模块引用?”
在旧的连接方式中,连接字符串是“OLEDB;Provider=MSDASQL.1;DSN=”,命令文本是“select * from current_period”。我们可以随意更改命令文本以获得不同的结果。我们还可以更改连接字符串以包含登录凭据,以便运行查询。
此外,通过更改连接字符串,您可以将连接更改为 OLEDB 连接、ODBC 连接或到 MS Access 数据库的连接。更改新查询类型连接中的连接字符串会导致错误,并且不会给出不同类型的连接。
它只是不适合我们所做的事情,我找不到创建旧式连接的方法。
【问题讨论】:
标签: excel oledb excel-365 data-connections