Connecting to 7.3.4 from VB 6/W2K Term Server

From: Scott Ashby <sashby_at_scribetech.com>
Date: Thu, 24 Oct 2002 05:56:48 -0500
Message-ID: <3db7d294_4_at_news.newsgroups.com>



I am having problems with connection from VB program (VB 6.0, Visual Studio 6.0/SP 5) to an Oracle 7.3.4 server. The VB program is running on a Windows 2000 Terminal Server with Citrix installed; I am seeing the connection difficulty now, though, running directly from the Terminal Server console, without using Citrix.

The Terminal Server has the Oracle 8.0.6 client installed on it, and the Oracle ODBC driver (v. 8.0.66.00) is installed and I am able to create a data source using this driver and access the database using Microsoft Access. We have another W2K terminal server similarly configured (as best I can tell, anyway), and we are able to access the database successfully from it using the following connect string:

"Provider=MSDASQL.1;Password=*****;Persist Security Info=True;User ID=*****;Extended
Properties=""DSN=CONT42;UID=*****;PWD=*****;DBQ=CONT42;DBA=W;APA=T;EXC=F;FEN =T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI =F;CSR=F;FWC=F;PFC=10;TLO=0;""" This does not work from the new terminal server. We have also tried the following connect string, using the data source created for and successfully used by MS Access:

"Provider=MSDASQL.1;Password=*****;Persist Security Info=True;User ID=*****;Data Source=CONT42"

In either case, within VB, when watching the connection object, I see two errors in the ADO connection's ERRORS collection when I attempt to open the connection. Here are these error details:

Error 1 =         : Number : -2147217887 : Long : frmConTest.ConnectDB
           : Description : "Multiple-step OLE DB operation generated errors.
Check each OLE DB status value, if available. No work was done." : String : frmConTest.ConnectDB
Error 2 =         : Number : -2147217887 : Long : frmConTest.ConnectDB
           : Description : "Provider does not support the property." :
String : frmConTest.ConnectDB

On the database server, I have turned on User level tracing on the Server through the TRACE_LEVEL_SERVER variable in SQLNET.ORA, and here is a sample trace file:

  • TRACE CONFIGURATION INFORMATION FOLLOWS --- New trace stream is "C:\ORANT\NETWORK\TRACE\srvraa.trc" New trace level is 4
  • TRACE CONFIGURATION INFORMATION ENDS ---
  • PARAMETER SOURCE INFORMATION FOLLOWS --- Attempted load of system pfile source C:\ORANT\network\admin\sqlnet.ora Parameter source loaded successfully

 -> PARAMETER TABLE LOAD RESULTS FOLLOW <- Successful parameter table load
 -> PARAMETER TABLE HAS THE FOLLOWING CONTENTS <-   AUTOMATIC_IPC = OFF
  TRACE_LEVEL_CLIENT = OFF
  TRACE_LEVEL_SERVER = USER
  names.directory_path = (TNSNAMES)
  TRACE_DIRECTORY_SERVER = C:\ORANT\NETWORK\TRACE   name.default_zone = world
  names.default_domain = world
  TRACE_FILE_SERVER = SRVR
--- PARAMETER SOURCE INFORMATION ENDS ---

  • LOG CONFIGURATION INFORMATION FOLLOWS --- Log stream will be "C:\ORANT\network\log\sqlnet.log" Log stream validation not requested
  • LOG CONFIGURATION INFORMATION ENDS ---
Unable to get data from navigation file tnsnav.ora Not enabling dead connection detection.
No process parameters set
connecting...
Attempting to make pipe \\.\PIPE\ORANTP86.AA Listening on pipe \\.\PIPE\ORANTP86.AA
Successfully established pipe 1620 to parent. doing connect handshake...
Attempting to read 4 bytes from handle 1620 ReadFile returned 4 bytes
Attempting to read 61 bytes from handle 1620 ReadFile returned 61 bytes
ADR="(ADDRESS=(PROTOCOL=tcp)(DEV=212)(HOST=10.51.4.70)(PORT=1521))" Attempting to read 4 bytes from handle 1620 ReadFile returned 4 bytes
bufl=256
(ADDRESS=(PROTOCOL=tcp)(DEV=212)(HOST=10.51.4.70)(PORT=1521)) port resolved to 1521
using host IP address: 10.51.4.70
opening transport...
Validnode Table IN use; err 0x0
transport is open
(ADDRESS=(PROTOCOL=tcp)(DEV=212)(HOST=10.51.4.70)(PORT=1521)) port resolved to 1521
using host IP address: 10.51.4.70
opening transport...
Validnode Table IN use; err 0x0
getting sockname
transport is open
global context check-in (to slot 0) complete hoff=12587
REDIR="(ADDRESS=(PROTOCOL=tcp)(DEV=1544)(HOST=10.51.4.70)(PORT=4899))" Attempting to write 4 bytes to handle 1620 WriteFile returned 4 bytes
Attempting to write 62 bytes to handle 1620 WriteFile returned 62 bytes
Closing pipe 1620
opening transport...
Validnode Table IN use; err 0x0
getting sockname
waiting to accept a connection.
valid node check on incoming node 10.51.4.77 Accepted Entry: 10.51.4.77
transport is open
global context check-in (to slot 1) complete doing connect handshake...
got NSPTCN packet
no timer allocated
closing transport
global context check-out (from slot 0) complete sending NSPTAC packet
connect handshake is complete
nsctxinf[0]=0x1, [1]=0x1
asking transport to enable NTOBROKEN
133 bytes from NS buffer
117 bytes to NS buffer
No broken-connection function available. got NSPTMK packet
 Recieve: returning error: 3111
sending NSPTMK packet
got NSPTMK packet
-<ERROR>- nsres: id=1, op=93, ns=12630, ns2=0; nt[0]=0, nt[1]=0, nt[2]=0 no timer allocated
closing transport
global context check-out (from slot 1) complete

As you can see, I'm getting an error 3111 from Oracle, and this is what the documentation has to say about error 3111:

ORA-03111 break received on communication channel Cause: A break was processed on the communications channel, but was not properly handled by SQL*Net software. This is an internal error message not usually issued.
Action: Contact customer support.

[Quoted] Anybody have any ideas before I take the documentation's recommended course of action?

Thanks in advance,

Scott Ashby
Swedish Match North America
scott.ashby_at_smna.com

-----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------

   http://www.newsfeed.com The #1 Newsgroup Service in the World! -----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =----- Received on Thu Oct 24 2002 - 12:56:48 CEST

Original text of this message