webForumDet fria alternativet

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

Databaser & SQL

0 svar · 386 visningar · startad av xtreme

Medlem sedan juli 20002 056 inlägg
Frågan#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
278 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
152 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)