locked
JDBC connectivity issue to SQL server 2000 RRS feed

  • Question

  • Hello all,

    I'm facing an issue with connecting to DB on SQL server 2000 with SP4 , running on Win2K3 SP2.

    I've a third party application installed on a different system than the SQL DB server and am having
    a problem in successfully getting the query results from the DB using JDBC.

    The failure msg is as below -

    ---

    java.sql.SQLException: [Mercury][SQLServer JDBC Driver][Mercury][SQLServer JDBC Driver]The requested instance is either invalid or not running.

    Failed to establish connection to and/or retrieve data from Quality Center.

    exit code = 1
    ---

    The JDBC connection string configured on  client application side is -

    "jdbc:mercury:sqlserver://DB-server-IP-addr\qcdb:1433"

    From the above err msg, for some reason, the jdbc thinks there's no valid
    instance, at the end-point specified by the jdbc string.

    The SQL server is a named instance, which is running in a cluster env
    (using MS Cluster server)

    As you can see in the jdbc string, I've specified the instance name and
    the SQL server is running at TCP port# 1433.
    There's no firewall between the client and the DB server systems.

    Also I tried capturing the TCP/IP  network packet tracing (using WireShark tool) between the the client And  DB server. From looking at these traces, I believe the SQL server is running and Listening at TCP port #1433 and in fact, the client  is able to talk to it,

    but for some reason during the subsequent exchanges, the client seem to be resetting

    (I mean I see a TCP pkt from client to DB server with RST flag set) the TCP connection the DB server.

     

    (btw, before the client sends this pkt RST , I see some response pkts from DB server, which shows Some SQL error #s 5701 & 5703. But on checking the meaning of these error on google, they say It’s only informational msgs. Not sure if these error msgs by any chance confuse the client, promting to reset the connection)


    The client also is running on Win2K3 with SP2 and the JVM version on
    client side is - 1.5.0_11.

    btw, I've the same client application installed on another test system,
    from which it's able to connect to this SQL server DB and get the query results without any problem.
    I've cross-checked the client-side config details between these 2 client systems, but don't see anything obviously different or incorrect.

    I've been spending few weeks checking and trying different things, but this
    is driving me crazy and appreciate any help/suggestions anybody can offer.

    NOTE: could somebody tell me which SQL server services (for SQL server 2000) should be running in windows services ? Just to make sure there's nothing missing there.

    Thanks much
    Jeg

    Tuesday, July 28, 2009 2:51 PM

Answers

  • Also, this is the generic connectivity troubleshoot page, worth visiting to troubleshoot issues like this
    http://blogs.msdn.com/sql_protocols/archive/2008/04/30/steps-to-troubleshoot-connectivity-issues.aspx

    Mugunthan
    Tuesday, August 4, 2009 9:04 PM

All replies

  • The JDBC driver is not familiar to me, one of thing you could do is to try Microsoft's jdbc driver and see if the problem still exists. I am seeing that you are specifying both instance name and the port number. Have you tried just specifying the port number?

    Tuesday, July 28, 2009 9:01 PM
  • Thanks Mugunthan for the response. I tried with just the server port # , without the instance. And still it doesn't work.

    Btw, regarding trying with microsoft's jdbc driver, Sorry I'm not a JDBC or windows pro.
    I'm not familiar with how to change the client config to use a different jdbc driver... is this change done at
    Windows OS level or client application config level ?
    If it's windows config, could you tell me where and how I can change to use the microsoft jdbc driver.
    Also any specific version of jdbc driver you want me to try with ?

    Also is there a way to enable any jdbc tracing or logging ? If any, is that jdbc driver provider-specific
    or generic procedure ?

    thanks again
    Jeg

     

    Wednesday, July 29, 2009 6:04 AM
  • You need to modify your connection strings to use the Microsoft SQLServer JDBC driver strings (http://msdn.microsoft.com/en-us/library/ms378672.aspx) and place the jar from the Microsoft driver in the Class path. I am not familiar with the mercury JDBC driver and does not know how it enables tracing. This is how you would turn the trace on for our driver which may be useful (http://msdn.microsoft.com/en-us/library/ms378517.aspx) to how turn on tracing for your driver. You may want to look at the support for your driver and see if they have any info on tracing.
    Mugunthan
    Tuesday, August 4, 2009 9:01 PM
  • Also, this is the generic connectivity troubleshoot page, worth visiting to troubleshoot issues like this
    http://blogs.msdn.com/sql_protocols/archive/2008/04/30/steps-to-troubleshoot-connectivity-issues.aspx

    Mugunthan
    Tuesday, August 4, 2009 9:04 PM