我通过 ODBC 从 PostgreSQL 获取数据,并将数据放入 excel 工作表中。为此,我使用 VBA 创建查询表。在 VBA 脚本中,我指定了一个包含一些 ODBC 设置的连接字符串
ConnectionString = "ODBC;DSN=PostgreSQL30;DATABASE=xxxxx;SERVER=xxx.xxx.xxx.xxx;PORT=5432;UID=xxx;;SSLmode=disable;ReadOnly=0;Protocol=7.4;FakeOidIndex=0;ShowOidColumn=0;RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=4096;UnknownSizes=0;MaxVarcharSize=255;MaxLongVarcharSize=8190;Debug=0;CommLog=0;Optimizer=0;Ksqo=0;UseDeclareFetch=1;TextAsLongVarchar=1;UnknownsAsLongVarchar=0;BoolsAsChar=1;Parse=1;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;;LFConversion=1;UpdatableCursors=1;DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=0;UseServerSidePrepare=1;LowerCaseIdentifier=0;GssAuthUseGSS=0;XaOpt=1"
对于此 ODBC 连接,Windows 7 中的设置位于 ODBC 数据源管理员 > 用户 DNS > PostgreSQL30 > 配置... > 数据源中。这是窗口
哪些 ODBC 连接属性具有更高的优先级 - 在 Windows 设置中定义还是使用连接字符串定义?
答案1
通常,ODBC 连接字符串中设置的属性将覆盖 DSN 中设置的属性。