| Title: | DEC ODBC Driver |
| Notice: | DEC ODBC Driver V2.0 Now Available |
| Moderator: | SQLSRV::MAVRIS |
| Created: | Tue Dec 29 1992 |
| Last Modified: | Fri Jun 06 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 1357 |
| Total number of notes: | 4864 |
Hi,
Have a customer using latest sql/services and odbc driver. Also using
Visual Basic passthru to get to Rdb.
Customer says when they do a 2 record set using Visual Basic passthru SQL
they get an ODBC error 3146 which is odbc call failed.
What works:
----------
1 record set NOT using passthru SQL in VB.
1 record set using passthru SQL in VB.
2 record set NOT using passthru SQL in VB. (They don't want to do this since
they say performance is much better using passthru.)
What doesn't work:
-----------------
2 record set using passthru SQL in VB.
They are doing "move nexts" in the VB code.
I asked them to send the following:
1) example of VB code that works
2) example of VB code that doesn't work (so we can get an idea of what
they are doing.)
3) client.log
4) odbcrdb.log
They didn't send the VB code, only the log files which show almost nothing
and appear below. As soon as I get the VB code, I'll post as a reply to
this note. Wanted to get this in anyway in case someone had ideas based
on the info I already have.
Thanks, Diane
-------------------------------
ODBCRDB.LOG
-----------
Oracle ODBC 32 Bit Driver for Rdb Version 2.10.11.0.0
Oracle ODBC 32 Bit Driver for Rdb File Version 2.10.11.0.0
CLIENT.LOG
----------
Log file generated by C:\WINNT\System32\sqsapi32.dll
Oracle Sql/Services Version 7.00
ASSOCIATE LEVEL LOG
----SQLSRV_ASSOCIATE
--------SQLSRV_ASSOCIATE ID: 6911478
--------NODE: 132.147.160.20, USERNAME: FILIA_L_VB, SQLCODE: 0, SQLERRD[0] 0
--------NETWORK TRANSPORT: TCP/IP
ROUTINE LEVEL LOG at 15:33:32 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:33 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:37 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:37 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:37 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:37 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:37 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:37 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:38 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:51 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:51 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:52 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:52 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:52 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:53 on 07-May-1997
----SELECT LIST SQLDA
ROUTINE LEVEL LOG at 15:33:54 on 07-May-1997
----SELECT LIST SQLDA
ASSOCIATE LEVEL LOG
----SQLSRV_RELEASE
--------SQLSRV_ASSOCIATE ID: 6911478
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 1340.1 | need logs or a real error message | M5::JBALOGH | Fri May 09 1997 13:01 | 13 | |
Well, the 3146 ODBC call failed error is worthless. get the customer to
walk through the errors().description collection or we need to get the
real error from a odbc or client log.
That log you posted was missing just about everything. They need to set
client logging to a higher number (like 7).
We may be able to determine something if we can get the error message.
I actually do recordset.movenext in VB all the time without a problem.
(both with and without passthrough queries).
John
| |||||
| 1340.2 | log files and vb code available - thanks | BROKE::BITHER | Wed May 14 1997 15:03 | 185 | |
Thanks John.
You were right about the logs. I pointed them to the rdb odbc driver
help file to see the values to be used and had them resend using 7.
But I don't see the error. They sent:
1. Two client logs (both created at the same time)
2. An odbcrdb.log
3. VB code.
All the files are in
nomahs::nomahs2:[dbither.joanne]client61.log
nomahs::nomahs2:[dbither.joanne]client62.log
nomahs::nomahs2:[dbither.joanne]odbcrdb.log
nomahs::nomahs2:[dbither.joanne]vb.doc (ms word doc)
nomahs::nomahs2:[dbither.joanne]vb.txt
All the log files look too big to post here but I've posted vb.txt below:
Thanks, Diane
-------------------------
Program with the bug:
The program work when we are not using dbsqlpassthrough
Private Sub cmdImprimer_Click()
Dim rsGI As Recordset
Dim sSQLGI As String
Dim rs As Recordset
Dim sSQL As String
Dim rs1 As Recordset
Dim sSQL1 As String
Dim rs2 As Recordset
Dim sSql2 As String
Dim sSQLAccess As String
Dim sMessF As String
Dim sMessA As String
Dim lNoBloc As Long
Dim sCodeProb As String
Dim LNoColPrec As Long
Dim lNbSqib As Long
lNbSqib = 4
pnlMessage.Caption = "Pr�paration de l'impression en cours un moment S.V.P.
..."
pnlMessage.Visible = True
pnlMessage.Refresh
OuvrirBDAccess sMessF, sMessA
'**** V�rifier si pour le groupe_impression s'il y a plus d'un jeu
sSQLGI = "SELECT sigle_client, no_jeu, nom_jeu, no_jeu_int, code_produit,
in
d_algo_dec, gr_barcode, nb_unite_bloc, type_mise_en_cais, type_etiq, ind_repr "
& _
" FROM jeu " + _
" WHERE no_gr_imp_int = " & frmGame.lblNoGrImpInt & _
" ORDER BY no_jeu_int DESC"
Set rsGI = g_db.OpenRecordset(sSQLGI, dbOpenSnapshot, dbSQLPassThrough)
If txtFirstPool <> "" Then
While Not rsGI.EOF
'=========================
'**** Pool de Loterie ****
'=========================
If Val(txtBlocStart) = 0 Then ' pour traitement complet
sSQL = "SELECT no_block, prem_unite, dern_unite, etat_block " + _
" FROM bloc_jeu " + _
" WHERE no_jeu_int = " & Val(frmBlSheet.txtNo_jeu_int) & _
" AND no_pool = " & Val(frmBlSheet.txtFirstPool) & _
" ORDER BY no_block ASC "
Else ' Pour traitement par bloc
' ", nb_bil_sqib" + _
sSQL = "SELECT no_block, prem_unite, dern_unite, etat_block " + _
" FROM bloc_jeu " + _
" WHERE no_jeu_int = " & Val(frmBlSheet.txtNo_jeu_int) & _
" AND no_pool = " & Val(frmBlSheet.txtFirstPool) & _
" AND no_block >= " & Val(txtBlocStart) & " and no_block <= " &
Va
l(txtBlocEnd) & _
" ORDER BY no_block ASC "
End If
Set rs = g_db.OpenRecordset(sSQL, dbOpenSnapshot, dbSQLPassThrough)
Do While Not rs.EOF
sSql2 = " SELECT Code_probl from bloc_probleme " + _
" WHERE no_jeu_int = " & Val(frmBlSheet.txtNo_jeu_int) & _
" AND no_pool = " & Val(frmBlSheet.txtFirstPool) & _
" AND no_bloc = " & rs!no_block & _
" AND categorie = '" & cmbCategorie & "'" & _
" Order by code_probl "
Set rs2 = g_db.OpenRecordset(sSql2, dbOpenSnapshot,
dbSQLPassThrough)
scodeprobl = " "
Do While Not rs2.EOF
sCodeProb = sCodeProb & rs2!Code_probl
rs2.MoveNext
Loop
rs2.Close
sSQL1 = "SELECT no_unite, no_col_bloc, no_ligne_bloc,
code_etat_unite
" + _
" FROM view_unite " + _
" WHERE no_jeu_int = " & Val(frmBlSheet.txtNo_jeu_int) & _
" AND no_pool = " & Val(frmBlSheet.txtFirstPool) & _
" AND no_unite >= " & rs!prem_unite & _
" AND no_unite <= " & rs!dern_unite & _
" ORDER BY no_col_bloc, no_ligne_bloc DESC "
Set rs1 = g_db.OpenRecordset(sSQL1, dbOpenSnapshot,
dbSQLPassThrough)
LNoColPrec = 0
Do While Not rs1.EOF
'ecrire dans access
sSQLAccess = "Insert INTO unite (No_col, No_ligne, " + _
" unite, Code_etat_unite) " + _
" VALUES (" & rs1.no_col_bloc & ", " &
rs1!no_ligne_b
loc & ", " + _
"" & rs1!no_unite & ", """ & rs1!code_etat_unite &
""
") "
g_dbAccess.Execute sSQLAccess
If (rs1.no_col_bloc <> LNoColPrec) Then
LNoColPrec = rs1.no_col_bloc
sSQLAccess = "Insert INTO FdeBloc (Categorie, No_Pool, No_Bloc,
No_col, Nb_ligne, Nom_du_jeu, Nb_Sqib, etatdubloc, codeprobl) " + _
" VALUES (""" & cmbCategorie & """, " &
Val(frmBlSheet.txtFirstP
ool) & ", " & rs!no_block & ", " & rs1.no_col_bloc & ", " + _
"" & rs1.no_ligne_bloc & ", """ + frmGame.lblNomJeu + """, " +
_
"" & lNbSqib & ", """ + rs.etat_block + """, """ + sCodeProb +
"
"") "
g_dbAccess.Execute sSQLAccess
End If
rs1.MoveNext
Loop
rs1.Close
rs.MoveNext
Loop
rs.Close
rsGI.MoveNext
Wend ' groupe impression
rsGI.Close
Else
LongBeep
MsgBox "Vous devez entrer le num�ro de pool!", vbCritical
txtFirstPool.SetFocus
End If
End Sub
| |||||
| 1340.3 | Customer solved - here is solution fyi | BROKE::BITHER | Tue May 27 1997 14:28 | 12 | |
Customer resolved this themselves. Putting solution here in case anybody else needs it. Diane -------------------------------- SOLUTION: (in customer's words) We resolved the problem related with the 2 cursors . The problem was that in visual basic when you open more then 2 databases you have to create the workspace. We were using a default workspace for the 2 databases, it seems that when you are using sqlpassthrough , it gets mixed up. | |||||