From: | "David and Ashley Haycraft" <haycraft(at)webone(dot)com(dot)au> |
---|---|
To: | <pgsql-novice(at)postgresql(dot)org> |
Cc: | "'Haycraft, David'" <David(dot)Haycraft(at)act(dot)gov(dot)au>, "'Forbes, Steve'" <Steve(dot)Forbes(at)act(dot)gov(dot)au> |
Subject: | Use of PgOleDB and Microsoft ADODB |
Date: | 2014-03-24 23:59:39 |
Message-ID: | A2803FF300AE44B38A5B7743DDC6E87C@VOSTROV230ST |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Dear pgsql-novice mailing list
I have some novice question relating to the use of PgOleDB and Microsoft
ADODB in a Windows Server context.
By way of background, I am attempting the migration of a legacy
client-server GIS application from Microsoft SQL Server to PostgreSQL. In
this system the SQL Server database contains a set of stored procedure, each
being an SQL Select queries with one or more parameters. In response to a
client request, the server program - classic ASP VBScript - uses Microsoft
ADODB to fill in the parameters values, execute the requested query and
return the result set as an XML document to the client.
In the preliminary phase of the migration I have successfully:
1. installed PostgreSQL 9.3 for Windows, PgOleDB 1.0.0.20 and psqlODBC on a
32.bit Windows 7 Pro development PC
2. migrated the SQL Server database table definitions and constraint to a
new PostgreSQL database and populated them using psqlODBC
3. using pgAdmin III, created and executed test queries against the
PostgreSQL database
4. using pgAdmin III, created two test PostgreSQL table-valued Select
functions - test1() one with no parameters and test2(text) with a single IN
parameter - and verified that both execute correctly
5. written a test ASP/VBscript program that uses ADODB.Connection and
ADODB.Command to connect to the PostgreSQL database, execute test1() - the
no-parameter stored function - and create an ADODB.Recordset correctly
However when I change my test ASP/VBscript program to use test2() and use
objCmd.Parameters.Append() like this:
objCmd.CommandText = "test2"
objCmd.Parameters.Append objCmd.CreateParameter("p1", adVarChar,
adParamInput, 15, "000007-01012013")
to specify the required IN parameter, I get the ASP runtime error:
PgOleDB error '80004005' " Procedure name for automatic arguments is not
unique "
Q1. What is the appropriate forum for questions about PostgreSQL 9.3 for
Windows and PGOLEDB
Q2. Is there any public documentation available for PgOleDB other than the
README.TXT and RELEASENOTES.TXT files installed along with PgOleDB.dll?
Q3. Is there any other info about the subset of Microsoft's ADODB
capabilities that is actually implemented in PgOleDB
Q4. What does the diagnostic "Procedure name for automatic arguments is not
unique" mean?
Thanks for your interest
David Haycraft
Email: haycraft(at)webone(dot)com(dot)au
<blocked::blocked::mailto:haycraft(at)webone(dot)com(dot)au>
Web: http://www.maps-group.org <http://www.maps-group.org/>
Attachment | Content-Type | Size |
---|---|---|
winmail.dat | application/ms-tnef | 70.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Sameer Kumar | 2014-03-28 03:13:00 | Re: Master-slave failover question |
Previous Message | Venkata Balaji Nagothi | 2014-03-23 20:17:09 | Re: Upgrading from 9.1 to 9.3 |