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 14: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 16: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 15: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. |