strConn = "DRIVER={PostgreSQL Unicode};DATABASE=db;SERVER=192.168.1.99;
PORT=5432;UID=XX;PWD=XXX;"
'If IsEmpty(conn) Then Set conn = CreateObject("ADODB.Connection")
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
On Error Resume Next
'************************************
conn.Open strConn
rs.Open "select pg_backend_pid()", conn 'バックエンドプロセスID
Debug.Print "(1).....PID:" & rs.Fields(0).Value
'-----------------------
conn.Execute "CREATE TEMP TABLE TTEST (fld1 integer,fld2 text);"
'-----------------------
Debug.Print IIf(Err.Number = 0, "create ok", Err.Description)
Err.Clear
rs.Close
conn.Close ' --------- closeでセッションが終わる訳ではない
'************************************
conn.Open strConn
rs.Open "select pg_backend_pid()", conn
Debug.Print "(2).....PID:" & rs.Fields(0).Value
'-----------------------
conn.Execute "CREATE TEMP TABLE TTEST (fld1 integer,fld2 text);"
'-----------------------
Debug.Print IIf(Err.Number = 0, "create ok", Err.Description)
Err.Clear
rs.Close
conn.Close
'************************************
'ADODB.Connectionを開放
Set conn = Nothing
Set conn = CreateObject("ADODB.Connection") '再生成してみる
'************************************
conn.Open strConn
rs.Open "select pg_backend_pid()", conn
Debug.Print "(3).....PID:" & rs.Fields(0).Value
'-----------------------
conn.Execute "CREATE TEMP TABLE TTEST (fld1 integer,fld2 text);"
'-----------------------
Debug.Print IIf(Err.Number = 0, "create ok", Err.Description)
Err.Clear
rs.Close
conn.Close ' <--広域変数にしcloseしないとセッションの再利用可能