Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
是否为Excel中的多个查询共享数据库连接?_Excel_Oledbconnection_Oledbcommand_Vba - Fatal编程技术网

是否为Excel中的多个查询共享数据库连接?

是否为Excel中的多个查询共享数据库连接?,excel,oledbconnection,oledbcommand,vba,Excel,Oledbconnection,Oledbcommand,Vba,我有一个工作簿(Excel 2016),其中定义了几十个“连接”。每个连接具有不同的“命令文本”,但具有完全相同的连接字符串。因为这个连接字符串将经常更改(每月更改密码或偶尔移动数据库),所以我想在许多不同的命令中共享一个连接字符串 我看到一篇微软的文章说我可以把连接导出为一个.odc文件,我确实这样做了——但我不习惯Excel——我的来源是“连接”是一回事,“命令”是另一回事——这个.odc文件包含了这两者。因此,当我将所有连接设置为使用单个.odc“Connection”文件时,我所有的“C

我有一个工作簿(Excel 2016),其中定义了几十个“连接”。每个连接具有不同的“命令文本”,但具有完全相同的连接字符串。因为这个连接字符串将经常更改(每月更改密码或偶尔移动数据库),所以我想在许多不同的命令中共享一个连接字符串

我看到一篇微软的文章说我可以把连接导出为一个.odc文件,我确实这样做了——但我不习惯Excel——我的来源是“连接”是一回事,“命令”是另一回事——这个.odc文件包含了这两者。因此,当我将所有连接设置为使用单个.odc“Connection”文件时,我所有的“Commands”都是相同的,因此这是一场灾难

我必须相信,确实有一种方法可以在来自同一数据库的许多不同命令之间共享单个连接。(编辑)--我真的不想在连接字符串中出现宏或更多代码--我希望出现与“连接文件”概念非常相似的东西--但实际上只是一个“连接”。
谢谢

简短的回答是是-您可以从Excel的“查询和连接”窗口重复使用连接,我们鼓励您重复使用连接,原因与您提到的相同,等等

在您的个案中如何处理取决于您的问题中未包含的许多因素,例如数据来自何处以及数据的用途

希望这些资源中的一些将有助于阐明


更多信息:
  • 超级用户:

  • MS TechNet:

  • WiseOwl:

  • Office.com:

  • Office.com:


能否举例说明您的连接相关代码,以便您的问题更清楚?(建立连接的方法有很多。)ashleedawg,我本身没有任何代码,它只是“查询和连接”区域中的一个连接。每一个在顶部都有一个连接字符串,在命令中有一点SQL。它们各自引用一个命名的单元格范围。我没有建造这个,它是继承的,我正在尝试简化维护。足够公平。。。我很感谢你的帮助,但老实说,我查看了所有这些链接,它们都将视图或表与连接紧密地联系在一起。我需要的只是一个连接。我对微软感到失望,因为它不应该如此困难。这是SQL server顺便说一句。该连接是SQL身份验证用户,而不是受信任的连接。您希望能够使用现有连接进行Excel中的其他查询,对吗?或者,您是说在其他应用程序和其他工作簿中使用MySQL ODBC数据源连接吗?它是SQL Server,不是MySQL,但所有这些都在同一个工作簿中。在一张巨大的纸上有几十个范围/桌子。它们中的每一个都定义了一个连接。由于越来越多的安全问题,pwd需要每月更换一次。我最初的估计是轻量级的——有200多个连接。手动更改它们是不可能的。我想要的最终状态是转到Excel的“现有连接”菜单项,选择一个连接,并在那里更改pwd。然后我想要所有200个查询——每个查询都是不同的视图/表/sql语句,只需引用单个连接即可。我指的是sql Server(但无论如何都是一样的)。很难想象这些连接是如何设置的,而不看到。。。但听起来好像您并没有在服务器上使用ODBC DSN(数据源),但您应该这样做。这将是一次输入服务器信息和密码的地方,所有内容(Excel和其他应用程序)都通过这里连接。您可以通过按Windows键并键入
ODBC
并添加新的系统连接(甚至可能已经在那里设置了)来设置它。