webForumDet fria alternativet

"[Microsoft][ODBC Driver Manager] Ogiltig l?ngd p? str?ng eller buffert" Java -> SQL

0 svar · 386 visningar · startad av xtreme

xtremeMedlem sedan juli 20002 151 inlägg
#1

När jag försöker koppla upp mig till databasen MS SQL Server 2008 från java får jag följande felmeddelande: "java.sql.SQLException: [Microsoft][ODBC Driver Manager] Ogiltig l?ngd p? str?ng eller buffert"

Testet vid ODBC fungerar bra (se bild).

Mina "kopplingar" i MS SQL se bild 2. När jag kopplar upp mig i "Microsoft SQL Server Management Studio" anger jag inget användarnamn eller lösenord. Server type: Database Engine, Server name: X3M-PC, Authentication: Windows Authentication.

Här är javakoden jag använder som fungerar i skolan:
Lösenord tror jag inte jag valt här hemma för SQL och provat olika användarnamn men får hela tiden samma felmeddelande.

import java.sql.*;

public class Main {

    static Connection conn;
    static Statement st;

    public static void main(String[] args) throws SQLException {

        try {
            DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
        } catch (Exception e) {
            System.out.println("Kan inte hitta database driver class: " + e);
        }

        try {
            conn = DriverManager.getConnection("JDBC:ODBC:myServer;database=test;", "skolans login", "skolans lösen");

        } catch (Exception e) {
            System.out.println("Kan inte hitta database driver class: " + e);
        }
        System.out.println("Connection Established - SUCCESS!");

        try {
            st = conn.createStatement();
        } catch (Exception e) {
            System.out.println("9999Kan inte hitta database driver class: " + e);
        }
        System.out.println("Statment är OK");

//Skriver ut
        String sqlStr = "select s.spnr,s.sname,l.kkod,l.betyg ";
        sqlStr += " from student s , laser l";
        sqlStr += " where s.spnr = l.spnr ";
        ResultSet rset = st.executeQuery(sqlStr); // returnerar resultset
        while (rset.next()) {
            System.out.println(rset.getString(1) + " " +
                    rset.getString(2) + " " +
                    rset.getString(3) + " " +
                    rset.getInt(4));
        }

    } // main
} // JDBCTest
.gifUntitled-1.gif
Genererad på 369 ms · cache AV · v20260730165559-full.f96bc7eb