我遇到了严重的问题,导致我的某些 Excel 工作表无法正常工作。直到 Excel 365 的 2408 版本,其中的所有 vba 代码都可以正常工作。自从 9 月(2024 年)更新到版本 2409 以来,每次尝试连接到 PostgreSQL 数据库时都会收到此错误消息:
Expression.Error: key=value argument incorrect in ConnectionString
Parametername: application name
我不知道在任何
ConnectionString
中使用任何应用程序名称。我刚刚对 Excel VBA 进行了编程,以便从工作簿中的单元格构建实际的 SQL 字符串。我如何才能在诸如 ConnectionString
这样的东西中应用任何应用程序名称,而我以前从未有意使用过它?
我试图找到这个
ConnectionString
但没有成功。我还导出了 rdp 文件,但也没有提到应用程序名称。
对于构建连接问题:首先,我通过选择与数据库的新连接来建立新的 PostgreSQL 连接。因此我必须安装足够的驱动程序,我事先就这样做了。构建不同的连接和查询后,我使用 vba 来操作强大的查询表达式中的 SQL 字符串。对于此操作,我使用了以下代码:
ThisWorkbook.Queries(\["SQL_string"\]) Formula = Querystring
ThisWorkbook.Connections(9).Refresh
(其中
Connection(9)
是与相应 SQL 字符串的连接)
我自己找到了解决方法。我将对数据库的访问从 PostGreSQL 驱动程序更改为 ODBC 并重建所有查询以使用新的访问类型。所以我避免了错误消息。