Problem getting sequences under 8.02.03.00 driver
От | Eric E |
---|---|
Тема | Problem getting sequences under 8.02.03.00 driver |
Дата | |
Msg-id | 4692C515.1050509@gmail.com обсуждение исходный текст |
Ответы |
Re: Problem getting sequences under 8.02.03.00 driver
|
Список | pgsql-odbc |
Hi all, I installed the 8.02.03.00 driver during my installation of Postgres 8.2 onto my machine. After installation of that driver, the following code related to sequences would not work: Dim cnGetAutoGenID As ADODB.Connection ' Get a local handle to the single ADO connection Set cnGetAutoGenID = GetPgADOConnection Dim sSequenceName As String, sGetIDSQL As String sGetIDSQL = "SELECT nextval('""" & sSequenceName & """'::text) as seqval;" Dim rsSeqVal As New ADODB.Recordset Set rsSeqVal = cnGetAutoGenID.Execute(sGetIDSQL) ' Execute the SQL With rsSeqVal ' If there are now rows in this recordset, then there was an ' error getting the sequence value If .BOF Then GoTo Err_GetAutogenID Else GetAutogenID = .Fields("seqval") End If End With Where sSequenceName is holding the name of a sequence in the search_path visible to the connection. The problem is that the value returned from the ADODB Recordset is always 0. I can get a sequence perfectly well using pgAdmin, and logs of statements showed that the driver was in fact executing the SELECT nextval statement. I can also execute other SELECT statements just fine using the Connection and Recordset objects. For some reason, however, sequence values are always returned as 0. By rolling back to the 8.02.01.00 driver I was able to solve the problem, but I'm concerned that this bug will keep me from being able to move forward in versions of Postgres, and keep me from getting other fixes. Does anyone recognize this problem or know anything about the nature of it? Thanks, Eric
В списке pgsql-odbc по дате отправления: