Java SqlServer 2k5连接错误
这是我的代码:Java SqlServer 2k5连接错误,java,sql-server-2005,jdbc,Java,Sql Server 2005,Jdbc,这是我的代码: public static void addRecord(String name, int index) throws IllegalAccessException, InstantiationException, SQLException, ClassNotFoundException { // Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String
public static void addRecord(String name, int index) throws IllegalAccessException, InstantiationException, SQLException, ClassNotFoundException {
// Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String dbURL = "jdbc:sqlserver://localhost\\sqlexpress";
String user = "sa";
String pass = "mypass";
Connection conn = DriverManager.getConnection(dbURL, user, pass);
PreparedStatement Prep = conn.prepareStatement("insert into tblAll(AdSoyad,SiraNo) values(?,?);");
Prep.setString(2, name);
Prep.setInt(3, index);
Prep.execute();
Prep.close();
Prep = null;
conn.close();
conn = null;
}
以下是我得到的错误:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The index 3 is out of range.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setValue(SQLServerPreparedStatement.java:709)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setInt(SQLServerPreparedStatement.java:870)
at jmssql.JMsSQL.addRecord(JMsSQL.java:29)
at jmssql.JMsSQL.main(JMsSQL.java:19)
如果我添加dbUrl“integratedSecurity=true;”部分
错误在于
com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
com.microsoft.sqlserver.jdbc.AuthenticationJNI
警告:未能加载sqljdbc_auth.dll原因:-java.library.path中没有sqljdbc_auth
我找不到任何方法来修复它,我如何修复它?错误在这行
PreparedStatement Prep = conn.prepareStatement("insert into tblAll(AdSoyad,SiraNo) values(?,?);");
Prep.setString(2, name);
Prep.setInt(3, index);
改为
PreparedStatement Prep = conn.prepareStatement("insert into tblAll(AdSoyad,SiraNo) values(?,?);");
Prep.setString(1, name);
Prep.setInt(2, index);
感谢您的帮助,我已经根据您的指示更改了代码,并将“databaseName=myDB;”添加到dbUrl中。然后我就修好了,thanx伙计。