SQL Server driver problem

I am trying to connect to SQL Server 2000. I have JDK1.3.1_02. When I compile my applet I get the error that class sqlserver from the statement "Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);" not found. I have included the path in my classpath as "d:\JDBC\lib\msbase.jar;d:\JDBC\lib\msutil.jar;d:\JDBC\lib\mssqlserver.jar" where JDBC is the root directory for the driver.
Even the statement "import com.microsoft.*;" returns an error that package com.microsoft.* does not exist. What can be the problem?
Any suggestions/help appreciated!

You should be getting a different compiler error. Class.forName() requires a String argument, so your code should look like this:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Note the quotes around the class name. Also, your "import" statement is irrelevant in any case because that class is not in the com.microsoft package, it is in the com.microsoft.jdbc.sqlserver package.

Similar Messages

  • Problem: [Microsoft][ODBC SQL Server Driver][SQL Server]The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction.

    Hi Gurus,
    I have this problem in my MS SQL Server 2012 that is running in SQL Server 2008 R2 Enterprise 64 bit.. Not sure why... Here is the full details of the error:
    Microsoft OLE DB Provider for ODBC Drivers 80040E14
    [Microsoft][ODBC SQL Server Driver][SQL Server]The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction.
    /Libraries/DBA/DBA.asa, line 717
    Line 717 is this:
    rs.open destTableName,,,,adCmdTable
    Full details of the code:
        'Field object used to iterate through each field of the rs
        dim rs, fld
        'call dbInitRS(rs)
        set rs = server.createobject("adodb.recordset")
        'On Error Resume Next
        'Open rs
        set rs.activeConnection = myConnection
        rs.cursorType = adOpenKeyset
        rs.lockType = adLockOptimistic
        'rs.open destTableName
        rs.open destTableName,,,,adCmdTable
        'if err.number <> 0 then
        '    goto HandleError
        'end if
        rs.addNew
    Any ideas how to solve this problem?
    Thanks

    Still does not work. I have allow MSDSTC in my firewall list.
    Hi dudskie,
    Have you try to use DTCTester or DTCPing to verify MSDTC functionality over the network? Please refer to the following article:
    Troubleshooting Problems with MSDTC:
    http://msdn.microsoft.com/en-us/library/aa561924.aspx
    Use the DTCTester utility to verify transaction support between two computers if SQL Server is installed on one of the computers. The DTCTester utility uses ODBC to verify transaction support against a SQL Server database. For more information about
    DTCTester see How to Use DTCTester Tool.
    Use DTCPing to verify transaction support between two computers if SQL Server is not installed on either computer. The DTCPing tool must be run on both the client and server computer and is a good alternative to the DTCTester utility when SQL Server
    is not installed on either computer. For more information about DTCPing, see
    How to troubleshoot MS DTC firewall issues.
    If you have any feedback on our support, please click
    here.
    Hope this helps.
    Regards,
    Elvis Long
    TechNet Community Support

  • [Microsoft][ODBC SQL Server Driver]COUNT field incorrect or syntax error

    Hi , i am trying to execute siple SP using JDBC-ODBC Bridge Driver
    Here my code :
    String dsn="Tritek1";
    String user="sa";
    String password="imcindia";
    Connection con1 = null;
    CallableStatement cstmt = null;
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    con1=DriverManager.getConnection("jdbc:odbc:"+dsn,user,password);
    Statement st=con1.createStatement();
    st.execute("use dm0102d");
    st.execute("setuser 'dm01012'");
    cstmt = conObject.connection(" ?=Call dms_ex_get_folder_info(?,?,?)");
    cstmt.setString(1,folderType);
    cstmt.registerOutParameter(2,java.sql.Types.VARCHAR);
    cstmt.registerOutParameter(3,java.sql.Types.VARCHAR);     bFlag=cstmt.execute();
    Here my SP :
         Procedure Name          :     dms_ex_get_folder_info
         Input Parameter(s)          :     a. folder_type char(20)
         Return Parameter(s)     :     a. Recordset consist edit_mask and folder_type_code from folder_reference table / error
         Procedure Type          :     select
         Programmer          :     Prashanth Kumar M.
         Creation Date          :     12/20/2005 (20th Dec, 2005)
         Tables Accessed          :     folder_reference
         Revised               :
              Programmer:     Date:     Description:
              Prashanth Kumar M.      12/21/2005 Modified the script as per the approved program specifications.
         Test Query:
              Declare @edit_mask char(15)
              Declare @folder_type_code char(2)
              execute dms_ex_get_folder_info 'Policy Folder',@edit_mask output,@folder_type_code output
              Print 'Edit Mask : ' + @edit_mask
              Print 'Folder Type Code : ' + @folder_type_code
    CREATE PROCEDURE dms_ex_get_folder_info
         @folder_type char(20),
         @edit_mask char(15) output,
         @folder_type_code char(2) output
    AS
         BEGIN
              -- Check if the record for @folder_type exists or not.
              BEGIN
                   -- return the record from folder_reference
                   SELECT
                        @edit_mask= IsNull(edit_mask,''),
                        @folder_type_code = IsNull(folder_type_code,'')
                   FROM      folder_reference
                   WHERE
                        folder_decode = ltrim(rtrim(@folder_type))
                   -- return the error message
                   IF @@error <> 0
                        BEGIN
                             RAISERROR 100016 'Error in gettting the record from folder_reference table'
                             RETURN (@@error)
                        END
                   IF @edit_mask = '' AND @folder_type_code = ''
                        BEGIN
                             RAISERROR 100017 'No matching details in the folder_reference table'
                        RETURN (@@error)
                        END
              END
         END
    GO
    Here My Exception:
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]COUNT field incorrect or syntax error
         at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbc.SQLExecute(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(Unknown Source)
         at com.nyl.dms.bl.Folder.createFolder(Folder.java:121)
         at com.nyl.dms.bl.Folder.main(Folder.java:223)
    Any one can help me to overcome this problem . Thanks in advance.
    venkat

    Here's from one of those 10s of books.
    Quoted from JDBC 3.0 by Bernard Van Haecke:
    Stored procedures can return multiple result types because they can be composed of SQL statements that return diverse result types: resultsets and update counts (this includes special error codes).
    Now this doesn't sound very satisfactory. So I use Sybase since I don't have any other database at the moment, and write a simple stored procedure.
    CREATE proc testproc AS
    BEGIN
    -- My return code
    return 7
    END
    goThen a sample patchy buggy code to play around:
    import java.sql.*;
    public class ProcTesting {
        public static void main(String[] args) {
            String connUrl          = "jdbc:sybase:Tds:myserver:5150/dbinst";
            String userName         = "username";
            String password         = "password";
            Connection con          = null;
            CallableStatement stmt  = null;
            ResultSet rs            = null;
            String sql = "{? = call testproc}";
            try {
                Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance();
                con     = DriverManager.getConnection(connUrl, userName, password);
                stmt    = con.prepareCall(sql);
                stmt.registerOutParameter(1, Types.INTEGER);
                stmt.execute();
                System.out.println(stmt.getInt(1));
            } catch(Exception e) {
                e.printStackTrace();
            } finally {
                closeAll(con, stmt);
        public static void closeAll(Connection con, Statement stmt) {
            try {
                con.close();
            } catch(Exception e) {  }
            try {
                stmt.close();
            } catch(Exception e) {  }
    }Followed by:
    javac ProcTesting.java
    java -cp "%CLASSPATH%;C:\jarutils\jconn2.jar" ProcTesting
    Output:
    7
    Didn't you know this could be done?
    Happy new year, grandpa!

  • Error: [Microsoft][ODBC SQL Server Driver]Protocol error in TDS stream

    hello,
    our application vendors are receving the below errors while running their data load job.I spoke to our networking team member and he said everything looks good on the networking side .Can someone please help me with the below errors.we are using
    Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) Enterprise
    Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1).
    Windows OS:windows server 2008 R2 sp1
    7280
    6920
     DBS-070401
    6/5/2014 1:17:24 PM
    |Data flow DIM_CONTRACT_SWAM_INIT_LOAD_DF|Loader Key_Generation_DIM_CONTRACT
    7280
    6920
     DBS-070401
    6/5/2014 1:17:24 PM
    ODBC data source <HPWDBOE001> error message for operation <SQLExecute>: <[Microsoft][ODBC SQL Server
    7280
    6920
     DBS-070401
    6/5/2014 1:17:24 PM
    Driver][DBNETLIB]ConnectionWrite (send()).
    7280
    6920
     DBS-070401
    6/5/2014 1:17:24 PM
    [Microsoft][ODBC SQL Server Driver][DBNETLIB]General network error. Check your network documentation.>.
    6760
    6164
     DBS-070401
    6/5/2014 1:17:24 PM
    |Data flow DIM_EMPLOYER_GROUP_SWAM_INIT_LOAD_DF|Reader TCRdr_9
    6760
    6164
     DBS-070401
    6/5/2014 1:17:24 PM
    ODBC data source <serverName> error message for operation <SQLExecute>: <[Microsoft][ODBC SQL Server Driver]Protocol error in
    6760
    6164
     DBS-070401
    6/5/2014 1:17:24 PM
    TDS stream
    6760
    6164
     DBS-070401
    6/5/2014 1:17:24 PM
    [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionRead (recv()).
    6760
    6164
     DBS-070401
    6/5/2014 1:17:24 PM
    [Microsoft][ODBC SQL Server Driver][DBNETLIB]General network error. Check your network documentation.>.
    I googled and found the below link the below link which asked me to enable named pipes.I enabled
    namped pipes in the sql server Network configuration.I havent yet restarted the sql services as this is a prod box.I will do it later in the evening today.
     http://social.msdn.microsoft.com/Forums/sqlserver/en-US/69149a71-3c15-4c95-9f95-a30db458abeb/sql-server-2005-communcations-errors-through-odbc?forum=sqldataaccess 
    Can someone help me with these errors.
    Thanks
    lucky

    Thank you Erland.
    I dont see any crash dumps in sql server.I checked the tcp chimney and its set to automatic.I am not knowing what to look at to resolve this issue.
    if its the issue with the client API can i ask our vendor to check the client? 
    Our networking member gave the following report:
    No problems on vlan 14 or your port   the top is from the switch to your server then bottom is from my pc to your server
    SP_DC_CORE_VSS# ping 10.10.12.228
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 10.10.12.228, timeout is 2 seconds:
    Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
    SP_DC_CORE_VSS#
    lucky

  • How can i load  microsoft SQL Server driver in the classpath ?

    Hi
    i need to have microsoft SQL Server driver in the classpath , how can i do that to run the following code :
    String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    Class.forName(driver);
    with best regards

    Just as information, if you need to load a JDBC driver dynamically without previously knowing its name (meaning you can't add it to the classpath manually in your startup batch), the following will not work:
    // register the SQL driver as necessary
    DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
    // connect to the DB by using the driver.
    String connString = "my_dbserver:1433;databasename=my_database";
    String strDBConnect = "jdbc:microsoft:sqlserver://" + connString;
    conn = DriverManager.getConnection(strDBConnect, userName, passwd);
    This is because the DriverManager.getConnection checks if the loaded class was loaded by the same class loader than itself. And for dynamic scenarios, you need a new classloader for the new classes.
    Above, the class will be loaded correctly, but getConnection will fail.
    This behaviour costed me several hours while developing a dialog for adding drivers dynamically, until I saw the reason.
    But a solution has been posted in the forums, which goes like this:
    // jdbcLoader is my individual class loader, you can construct it with the driver url
    Class driverClass = Class.forName(driverName, true, jdbcLoader);
    currDriver = (Driver)driverClass.newInstance();
    // problem: classes which were loaded in custom class loader are not recognized by DriverManager. So the following would fail:
    // conn = DriverManager.getConnection(...)
    Properties prop = new Properties();
    prop.setProperty("user", (String)paras.get("youruser");
    prop.setProperty("password", (String)paras.get("yourpwd");
    conn = currDriver.connect((String)paras.get("yourURL", prop); // this one works for all classloaders
    But in your case, it seems to be enough to add the file manually, as was described in previous replies...
    Regards,
    Christian Sy

  • Java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]

    I'm stuck for 2 days.
    Can anyone advise where I can find online/download what this error means when I run a jsp page to connect to SQL server?
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index

    Hi!
    I have found this post in another forum:
    David,
    I had a similar problem today, using the JDBC-ODBC driver to connect to
    Microsoft SQL Server 7. Apparently the order in which you retrieve columns
    can make a difference. I got this information from the following URL:
    http://enhydra.enhydra.org/project/mailingLists/enhydra/199911/msg00110.htm
    l
    I tried it in my application and it worked. Changing:
    result.setTitle(rs.getString("title"));
    result.setProducer(rs.getString("producer"));
    to:
    result.setProducer(rs.getString("producer"));
    result.setTitle(rs.getString("title"));
    made the exception disapear and now my code works fine. I still dont know
    exactly where the problem comes from.
    Hope this helps.
    Regards,
    Geri

  • ORA-28500: [ODBC SQL Server Driver][SQL Server]0 is invalid sqlstate

    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Transparent gateway for MSSQL][Microsoft][ODBC SQL Server Driver][SQL Server] 0 is invalid sqlstate. valid range is from 1 to 127. (SQL State: 00000; SQL Code: 2756)
    I use gateway to call a procedure in SQL Server 2005, but forward error appears.Please help me.thanks.

    I solve this problem myself.
    In my sqlserver procedure, I want to insert a row into a table. One column cannot be set by Zero. Unfortunately,I set it to Zero. So......
    uh......

  • [Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'dbo.sp_SPNAMEHERE'.

    OK, something seemed to have changed with my system because this error is NEW. It might be related to my system upgrade from Vista to Win7, but just guessing here.
    I run a database on a corporate MS Sql Server (2005) and an ASP application that connects via ODBC. The real world application works fine, however when I attempt to access Stored Procedures from Dreamweaver (on my development machine)  I am getting the following error:
    [Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'dbo.sp_SPNAMEHERE'.
    This only seems to happen on Stored procedures that RETURN a recordset.
    system:
    Win7
    Dreamweaver CS4
    Code: VBScript/Classic ASP
    SQL Server 2005
    Connecting via ODBC: MM_MY_STRING = "Driver={SQL Server};Server=wscxxxxxxxxx;Database=dbsystem;Uid=username;Pwd=XXXXXXXXXXXX"
    Stored procedures that do not return a recordset are not an issue.... this has put my development work at a standstill!!
    Thanks in advance!

    Well, I hate bumps, but I am really running out of solutions. I have now tried to use a system DSN on my development machine and that didnt solve the problem. I just un-installed DW and re-installed it and that didnt solve my problem either.
    This is very frustrating, because I cannot use any stored procs that return recordsets... I am stuck... can anybody think of a relatively easy work-around to working in DW w/ recordsets that come from SPs when you cant actually access them?
    The really weird thing is, when I build the command, and choose the stored proc, and give it valid input variables, and TEST it from the TEST button, everything works and data is returned as expected. Once I click "OK" and actually add it to the ASP page the recordset that should be visible isnt... and when I click the plus sign in the bindings window I get the error...
    Help!!

  • Error:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Connection

    Hi,
    while running jsp page i m getting error as follows:
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt..
    what is this error...
    what should i do to solve this problem...
    plz let me know what is this error & how to solve this...
    Thanx in advance....

    Why don't you do a search in google with the excpetion?
    If you cannot then try this link
    [http://www.idssoftware.com/faq-e.html]

  • "ODBC Error= [17] [] "[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]SQ

    Hi,
    I am getting the above error when trying to connect to a database located on remote database. if the database is on same system no problem.
    any clue???????pls help me.

    The full error msg is as follows and the back ground of the problem is decribed below...pls help me out.
    I have written some perl programs to be called by java to execute some database related tasks. My database located at a remote win2K server and database is MSSql and my programs are executing on WIN2k server. The problem is with perl talking to remote database...the following error is displaying...
    "ODBC Error= [17] [] "[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]SQL Server does not exist or access denied."

  • Error [hyt00] [microsoft][odbc sql server driver] query timeout expired

    I have the below network setup:-
    1. Its a simple network at my father's office at a small town called Ichalkaranji (District - Kolhapur, Maharashtra).
    2. We are using private network range 192.168.1.xxx with two Windows Server 2003 Enterprise Edition with SP2 licensed copies and 15 local Windows 7 clients who are only using Server A.
    3. The network is having a TP-Link Braodband Router Connected to internet with the IP 192.168.1.1.
    4. Both there Windows Server 2003 Enterprise Edition with SP2 are running separate SQL Server 2005 Express with Advanced Services, you can treat them as Server A (Problematic Server with IP of 192.168.1.2) 
    and Server B (this is not having any issue with IP of 192.168.1.3).
    5. Server A is also being used by 6 Remote users from our Kolkata office using DDNS facility through the NO IP client software which installed separately on both the servers. Kolkata remote users
    do not use OR access the Server B.
    6. Server B is being used by only 2 Remote users from our Erode office (Under Salem District, Tamilnadu) using DDNS facility through the NO IP client software which installed separately on both
    the servers. Erode remote users do not use OR access the Server A.
    7. The front end application which running separately on both the servers have been developed in VB by a local vendor at Ichalkaranji (District - Kolhapur, Maharashtra).
    8. Both Servers are having the same database structure in terms of design and tables format. Only difference is that both the servers are being used separately.
    9. This error OR problem is only related to Server A, where on the clients we get the message "error [hyt00] [microsoft][odbc sql server driver] query timeout expired" every now and then.
    10. We have to frequently reboot the server whenever we get this message on the client machines. May be after rebooting every thing works perfectly for 2 hours / 5 Hours / may be one full day but
    the the error will come back for sure.
    11. Current Database back up size on Server A is around 35 GB and take around 1 hour 15 minutes daily to take the back up.
    12. Current Database back up size on Server B is around 3 GB and take around 5 to 10 minutes daily to take the back up.
    13. One thing I have noticed is that when ever we reboot Server A, for some time sqlsrvr.exe file will show memory usage of 200 to 300 MBs but it will start using slowly, what i understand is that
    this is the way SQL Server works.
    14. Both the Servers are also running Quick heal Antivirus Server Edition separate licensed copies also.
    15. Server B is also running Tally ERP 9 Licenses copy which is being used locally by 15 users of Ichalkaranji (District - Kolhapur, Maharashtra) same users
    Can any one help to resolve this issue. Any help will be highly appreciated.

    The error message "query timeout expired" occurs, because by default many APIs, including ODBC only waits for 30 seconds for SQL Server to send any output. If no data has been seen for this period of time, they tell SQL Server to cancel execution
    and return this error to the caller.
    This timeout could be seen as a token that the query is taking too long time to execute and this needs to be fixed. But it can also be a pain in the rear parts, if you are content with a report taking five minutes, because you only run it once a day.
    The simplest way to get rid of the error is to set the timeout to zero, which means "wait forever". This is something your vendor would have to do. This may, however, not resolve the problem, as the users may just find that the application is hanging.
    To wit, there are two reasons why the query takes more than 30 seconds to complete. One is that there is simply that much work to do. This can be reduced by adding indexes or by doing other tuning, if the execution time is not acceptable. The other possibility
    is blocking. That is, there is a process blocking this query from completing. This is much more likely to require attention.
    It is not clear to me, whether the vendor has developed the database part as well. In this case, you should probably call the vendor's support desk to have them to sort this out.
    Finally, I am little puzzled. You say that you are using Express Edition, but one of the databases is 35 GB in size. 35 GB is far above the limit for Express Edition.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • RE: Database (SQL-SERVER) access problem

    Have you used NT Control Panel/ ODBC to set up the ODBC data source name?
    You have to define the data source (database) SecTrade as well as the
    driver to be used (SQL Server). This can be done by selecting the Add
    button on the Data Sources screen in Control Panel/ ODBC.
    Hope this helps.
    Sanjay Murthi
    Indus Consultancy Services, Inc.
    From: Administrator
    Sent: Wednesday, August 13, 1997 6:49 PM
    To: "'[email protected]'"
    Cc: murthis; thyagarajm; thyagarm; vasasm; chandraa
    Subject: Database (SQL-SERVER) access problems
    MCI Mail date/time: Mon Aug 11, 1997 10:28 pm EST
    Source date/time: Mon, 11 Aug 1997 19:25:34 +0530
    Hi Forte-Users,
    We have a setup a Sql-Server database on a NT server. In the Forte
    EConsole,
    we have
    setup a ODBC-type Resource for this server, named SERVER2_ODBC. This NT
    server
    is configured as a Client Node in the active Forte environment. Note
    that
    Server2 is not
    the Forte server, but has Forte installed. There is another NT server
    which
    acts as the
    Forte server. NODEMGR and Sql-Server are running on SERVER2.
    In our application, we have a DBSession SO with the database source
    as SERVER2_ODBC, Userid=ForteInstructor. When running the application,
    Forte
    throws an exception, the gist of it being as follows:
    USER ERROR: (This error was converted)
    Failed to connect to database: SecTrade, username: ForteInstructor.
    [Microsoft][ODBC Driver Manager] Data source name not found and no
    default
    driver specified
    We have tried
    1) Installing ODBC drivers on the NT server (Server2)
    2) Accessing local databases from Forte clients which works fine
    3) Accessing the Sql-Server database through Isqlw (Sql-Server Client
    s/w) -
    It works.
    Could someone suggest what we should try to get rid of this problem?
    Thanks for any help,
    Kishore Puvvada

    Rajsarawat wrote:
    Dear sir/mam,
    I have installed sql server 2005 (server) and on another computer installed client. It installed successfully but on client side it does not seen, from where should i start it. so please send me procedure to install sql server 2005 on both side(client and server).You have to turn on network (external to your computer) access.
    Under programs->sql server look for "surface"

  • Java and MS SQL Server 2000 problem, please help

    please help me. I am using java and MS SQL Server 2000, and I'm trying to access and verify the login. I'm getting the following error message: [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index
    Can any please help in this regard.
    String userNumber = (String)userNumField.getValue();
    char[] userPasswordArray = userPasswordField.getPassword();
    String userPassword = new String(userPasswordArray);
         try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                java.sql.Connection connection = java.sql.DriverManager.getConnection("jdbc:odbc:Dikolobe_Data");
                java.sql.PreparedStatement statement = connection.prepareStatement(
                        "SELECT USER_NUMBER, USER_PASSWORD, USER_CLASS, USER_STATUS " +
                        "FROM SYS_USER " +
                        "WHERE (USER_NUMBER = ? AND USER_PASSWORD = ?);");
                statement.setString(1, userNumber);
                statement.setString(2, userPassword);
                java.sql.ResultSet result = statement.executeQuery();
                if(result.next()) {
                    String userStatus = result.getString(4);
                    if(userStatus.equals("logged on")) {
                        String loginErrorMessage = "User with number: " + userNumber + " is already logged on.";
                        javax.swing.JOptionPane loginErrorPane = getNarrowOptionPane(72);
                        loginErrorPane.setMessage(loginErrorMessage);
                        loginErrorPane.setMessageType(javax.swing.JOptionPane.ERROR_MESSAGE);
                        javax.swing.JDialog loginErrorDialog = loginErrorPane.createDialog(null, "Login Error");
                        loginErrorDialog.setVisible(true);
                    else {
                        String userClassification = result.getString(3);
                        if(userClassification.equals("Administrator")) {
                            AdminHomePage newAdminHomePage = new AdminHomePage();
                            newAdminHomePage.setVisible(true);
                        else if(userClassification.equals("Educator")) {
                            EduHomePage newEduHomePage = new EduHomePage();
                            newEduHomePage.setVisible(true);
                        statement = connection.prepareStatement(
                                "UPDATE SYS_USER SET USER_STATUS = ? " +
                                "WHERE USER_NUMBER = ?");
                        statement.setString(1, "logged on");
                        statement.setString(2, userNumber);
                        statement.executeUpdate();
                        dispose();
                }

    Doesn't the following link give you enough information?
    http://www.google.com/search?q=invalid+descriptor+index
    Anyway .. This error means that the given ResultSet column index which you're trying to retrieve the value from is out of the range.

  • Connection failed: SQLState:'01000' SQL Server Error:67 [Microsoft]ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). Connection failed: SQLState:'08001' SQL Server Error:17 [Microsoft]ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist o

    Help,
    setup a new sql server 2012 on a windows 2012r2 server to replace old sql server 2005 on an old windows server 2003 machine.  When i test the ODBC connection locally on the server it works fine, however when i try to connect via windows 7 client machine
    i get the following error:
    Connection failed:
    SQLState:'01000'
    SQL Server Error:67
    [Microsoft]ODBC SQL Server Driver][DBNETLIB]ConnectionOpen
    (Connect()).
    Connection failed:
    SQLState:'08001'
    SQL Server Error:17
    [Microsoft]ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied
    I think it must be a permissions thing, I've turned off the firewall for now and still no difference, 've also made sure remote connection is enabled.  I can connect to the other sql server in studio manager on the new machine however, i can't go do
    the same in the old server, says:
    cannot connect to hbfsqlpro1\hbfsqlpro1
    Additonal information a network related or instance specifc error occured while establising a connection to SQL server.  The server was not found or was not accessible.  Verify that the instance name is correct and that SQL server is configured to
    allow remote connections. (provider:SQL Network Interfaces, error 26 - error locationg server/instance specified) (Microsoft SQL server)
    the instance is def correct, as that is what i use to connect locally on the new machine and what it comes up on the studio manager on the new machine.  STarting to pull my hair out somewhat, i'm sure it's something really simple! 

    Hello,
    You are trying to connect to a named instance. Make sure the SQL Server Browser service is started on the SQL Server computer.
    Make sure TCP/IP is enabled.
    http://msdn.microsoft.com/en-us/library/ms191294(v=sql.110).aspx
    Try to disable Windows Firewall or security software on both, SQL Server instance and client computer.
    Test basic connectivity too. Try to ping from the client computer to the SQL Server computer.
    Hope this helps.
    Regards,
    Alberto Morillo
    SQLCoffee.com

  • SQL Server Driver for Linux causes Segmentation Fault

    Hello,
    I'm using the SQL Server Driver 11.0.1790 on Linux with mod_perl and Apache. While running fine with all my CLI Perl apps I occasionally get Segmentation Faults when using it from within mod_perl applications. Sometimes every other connect to the database
    segfaults. I've created a core dump and did a stack backtrace:
    Loaded symbols for /usr/lib/../lib64/libxml2.so.2
    Core was generated by `/usr/sbin/httpd2 -X'.
    Program terminated with signal 11, Segmentation fault.
    #0 0x0000000000000000 in ?? ()
    (gdb) bt
    #0 0x0000000000000000 in ?? ()
    #1 0x00007f8a8aeda803 in __connect_part_two (connection=0x7f8a99c885e0) at SQLConnect.c:1891
    #2 0x00007f8a8aedffd6 in SQLDriverConnect (hdbc=0x7f8a99c885e0, hwnd=0x0, conn_str_in=0x7fff1e7369ee "",
    len_conn_str_in=<value optimized="" out="">,
    conn_str_out=0x7fff1e736a80 "DSN=XXXXX;UID=XXX;PWD=XXXXXXXX;WSID=XXXXXXXX;DATABASE=XXXXX;MARS_Connection=Yes;",
    conn_str_out_max=512, ptr_conn_str_out=0x7fff1e736a7e, driver_completion=0) at SQLDriverConnect.c:1530
    #3 0x00007f8a8b1458ee in odbc_db_login6 (dbh=0x7f8a99938ca0, imp_dbh=0x7f8a99c8acd0,
    dbname=0x7fff1e736c80 "DSN=XXXXX;MARS_Connection=Yes;UID=XXX;PWD=XXXXXXXX", uid=0x7f8a9996e8b0 "XXX",
    pwd=0x7f8a9996e8d0 "XXXXXXXX", attr=0x7f8a99938c40) at dbdimp.c:942
    #4 0x00007f8a8b141822 in XS_DBD__ODBC__db__login (my_perl=<value optimized="" out="">, cv=<value optimized="" out="">) at ./ODBC.xsi:98
    #5 0x00007f8a9125b091 in Perl_pp_entersub (my_perl=0x7f8a96274f50) at pp_hot.c:3046
    #6 0x00007f8a912595f6 in Perl_runops_standard (my_perl=0x7f8a96274f50) at run.c:41
    #7 0x00007f8a911eb755 in Perl_call_sv (my_perl=0x7f8a96274f50, sv=0x7f8a99938bc8, flags=2) at perl.c:2632
    #8 0x00007f8a8b791d02 in XS_DBI_dispatch (my_perl=0x7f8a96274f50, cv=0x7f8a98cbbe60) at DBI.xs:3473
    #9 0x00007f8a9125b091 in Perl_pp_entersub (my_perl=0x7f8a96274f50) at pp_hot.c:3046
    #10 0x00007f8a912595f6 in Perl_runops_standard (my_perl=0x7f8a96274f50) at run.c:41
    #11 0x00007f8a911ebab0 in Perl_call_sv (my_perl=0x7f8a96274f50, sv=0x7f8a97db4f68, flags=10) at perl.c:2647
    #12 0x00007f8a9154ba31 in modperl_callback (my_perl=0x7f8a96274f50, handler=0x7f8a96230c90, p=0x7f8a96334838, r=0x7f8a963348b0,
    s=0x7f8a962303b0, args=0x7f8a998376a8) at modperl_callback.c:101
    #13 0x00007f8a9154c79c in modperl_callback_run_handlers (idx=6, type=4, r=0x7f8a963348b0, c=<value optimized="" out="">, s=0x7f8a962303b0,
    pconf=<value optimized="" out="">, plog=0x0, ptemp=0x0, run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:262
    #14 0x00007f8a9154cb6f in modperl_callback_per_dir (idx=-1714610816, r=<value optimized="" out="">, run_mode=<value optimized="" out="">)
    at modperl_callback.c:369
    #15 0x00007f8a91546b93 in modperl_response_handler_run (r=0x7f8a963348b0) at mod_perl.c:1000
    #16 modperl_response_handler (r=0x7f8a963348b0) at mod_perl.c:1039
    #17 0x00007f8a95f01e08 in ap_run_handler ()
    #18 0x00007f8a95f0226c in ap_invoke_handler ()
    #19 0x00007f8a95f0ff00 in ap_process_request ()
    #20 0x00007f8a95f0ce98 in ?? ()
    #21 0x00007f8a95f08b28 in ap_run_process_connection ()
    #22 0x00007f8a95f14e5a in ?? ()
    #23 0x00007f8a95f15126 in ?? ()
    #24 0x00007f8a95f15903 in ap_mpm_run ()
    #25 0x00007f8a95eec9be in main ()
    </value></value></value></value></value></value></value>
    Calling something at NULL obviously doesn't look right…
    Can onebody help fixing this issue?
    Best regards,
    Stephan

    Hi Stephan,
    This is a bug in the unixODBC Driver Manager 2.3.0.  Essentially, you can only have one HDBC per HENV.  The mod_perl must be creating the connections upon the same HENV.
    The bug appears to be fixed in version 2.3.1 but we have not yet certified that out driver can work with 2.3.1.  See the 2.3.1 release notes at
    http://www.unixodbc.org/ where the last item says:
    "Driver version was not being held when a second connection was made to the driver"
    The Driver Manager would "forget" that we are an ODBC V3 driver and try intereacting with us as an ODBC V2 driver for the second connection (which fails).
    The workaround is to create a new HENV for each connection but I'm not sure if this is possible in mod_perl.

Maybe you are looking for