注册 登录
编程论坛 J2EE论坛

SQLserver2000连接遇到的问题,大家来看看!

禹_二 发布于 2006-09-17 12:10, 560 次点击

SQLServer 2000+java,连接问题,请各位帮忙看看是那里的问题,先谢谢了 。
程序源代码如下:
数据源名:user_message

import java.sql.*;
import javax.sql.*;

public class T
{

private static String _driver="sun.jdbc.odbc.JdbcOdbcDriver";   //odbc驱动
private static String _url="jdbc:odbc:user_message";
private static String user="sa";
private static String password="";
private static String sql="select*from user";
public static void main(String args[])
{
Connection con=null;
try{
Class.forName(_driver); //建立连接
con=DriverManager.getConnection(_url,user,password);
Statement st=con.createStatement();//应该是运行到这里,抛出异常的!
ResultSet rs=st.executeQuery(sql);
while(rs.next()) //输出查询信息
{
System.out.println(rs.getString(1));
}
con.close();
st.close();
rs.close();
}
catch(SQLException e)
{
System.out.println("sql异常");
System.out.println("异常状态"+e.getSQLState());
System.out.println("异常代码"+e.getErrorCode());
e.printStackTrace();

}
catch(Exception e)
{

System.out.println(e.getMessage());
e.printStackTrace();

}

}
}

异常画面如下:

C:\Documents and Settings\Administrator\桌面>javac T.java

C:\Documents and Settings\Administrator\桌面>java T
sql异常
异常状态37000
异常代码156
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 '
user' 附近有语法错误。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:2
53)
at T.main(T.java:23)

C:\Documents and Settings\Administrator\桌面>

5 回复
#2
千里冰封2006-09-17 13:25
select*from user
中间要有空格
应该是select * from user
#3
禹_二2006-09-19 10:01
上面的问题解决了 ,就是好像是表名和列名重名有冲突,我把表名改了一下就可以了,
不过还有一个问题,就是驱动用odbc可以,而用
private static String _driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";不行,该怎么办?
#4
千里冰封2006-09-19 10:03

可能性有二
一,你没有这个驱动的包,因为这个驱动JDK是不自带的,要自己去MSSQL上去下载
二,你有这个包,但是你的MSSQL没有打补丁,不支持

#5
禹_二2006-09-20 19:50
算是告一段落了,那一个驱动我也不用了 .
#6
lengxin2006-09-21 16:44

private static String _driver="sun.jdbc.odbc.JdbcOdbcDriver";
驱动错误!!
private static String _driver="com.microsoft.jdbc.sqlserver.SQLServerDriver
private static String sql="select * from user";

同意楼主的

1