From: | 管竚 <gzhcoder(at)126(dot)com> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Does psqlodbc_10_03_0000-x86(32bit) support PostgreSQL 12.6 64bit? |
Date: | 2021-07-07 10:38:13 |
Message-ID: | 5ff336b0.4ff4.17a808bf298.Coremail.gzhcoder@126.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Created by: gzhcoder
Email address: gzhcoder(at)126(dot)com
PostgreSQL version: 12.6
Operating system: windows 10
Description:
I have a classic ASP Website on IIS. I change the “ Enable 32-bit
Applications ” to True (Set the IIS application pool to spawn in a 32-bit
mode).
The Website connect to PostgreSQL 9.4 64bit with
psqlodbc_10_03_0000-x86(32bit) and it works very well .
When I change the PostgreSQL 9.4 64bit to PostgreSQL 12.6 64bit . I get the
error below :
Number: -2147217887
Description: Multiple-step OLE DB operation generated errors.
I found that the problem occurred in the third step:
Step 1. Starts a new transaction with the BeginTrans method.
Step 2. Creates an OraDynaset object from the specified SQL SELECT statement
SQL-A.
Step 3. Creates an OraDynaset object from the specified SQL SELECT statement
SQL-B.
Step 4. Ends the current transaction with the CommitTrans method.
I made an sample asp as below:
psqlodbc.asp
-------------------------------------------------------------- start
-------------------------------------------------------------
<%@ language='VBScript' %>
<%
Option Explicit
Function CreateDynaset(ArgSQL, ArgMod,cn )
dim rs
Set rs = CreateObject("ADODB.Recordset")
if ArgMod = 0 then
rs.Open ArgSQL, cn, 1, 3
else
rs.Open ArgSQL, cn, 3, 2
End if
Set CreateDynaset = rs
End Function
%>
<%
Dim sConnection, objConn , objRS1, objRS2 ,sql
stop
sConnection ="DRIVER={PostgreSQL
Unicode};SERVER=999.999.999.999;database=XXXXXX;UID=XXXXXX;PASSWORD=XXXXXX;port=5432"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open(sConnection)
'DoStep1
objConn.BeginTrans
'SQL-A
sql = "SELECT cola FROM odbctest.t_odbc_a "
On Error Resume Next
'DoStep2
set objRS1 = CreateDynaset(sql, 8, objConn)
If Err.Number <> 0 Then
WScript.Echo "Error in DoStep2: " & Err.Description
Err.Clear
End If
If objRS1.EOF <> True Then
objRS1.Close
Set objRS1 = Nothing
End If
objRS1.Close
Set objRS1 = Nothing
'SQL-B
sql="SELECT colb FROM odbctest.t_odbc_b"
On Error Resume Next
'DoStep3
set objRS2 = CreateDynaset(sql, 8, objConn)
If Err.Number <> 0 Then
WScript.Echo "Error in DoStep3: " & Err.Description
Err.Clear
End If
If objRS2.EOF <> True Then
objRS2.Close
Set objRS = Nothing
End If
objRS2.Close
Set objRS2 = Nothing
'DoStep4
objConn.CommitTrans
objConn.Close
Set objConn = Nothing
%>
<html><body>psqlodbc test</body></html>
-------------------------------------------------------------- end
-------------------------------------------------------------
Thanks for any help
From | Date | Subject | |
---|---|---|---|
Next Message | Diego | 2021-07-07 14:18:25 | Re: Does psqlodbc_10_03_0000-x86(32bit) support PostgreSQL 12.6 64bit? |
Previous Message | Kyotaro Horiguchi | 2021-07-07 08:45:47 | Re: wal_keep_segments and max_wal_size |