
私は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 で設定された属性を上書きします。