Search Postgresql Archives

Re: Does psqlodbc_10_03_0000-x86(32bit) support PostgreSQL 12.6 64bit?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi,
Try with a newer version of odbc driver, something like psqlodbc_12_02_0000

On 07/07/2021 07:38, 管竚 wrote:



Created by:          gzhcoder
Email address:      gzhcoder@xxxxxxx
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








[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux