JAVA 连接 SQL SERVER 2000 出现错误,高手帮我看看。

王朝知道·作者佚名  2012-07-16
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

sql server 2000 sp4 已经装了;

jdbc 驱动 已经装了;

三个jar包已经引入,确定没问题;

以下是我用来测试的代码:

package test;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Driver;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class Test {

public Test() {

}

public static void main(String[] args) {

new Test().connect();

}

private void connect() {

Connection conn = null;

ResultSet rs = null;

Statement st = null;

try{

Driver driver = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

DriverManager.registerDriver(driver);

conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = mydb", "sa", "sa");

st = conn.createStatement();

System.out.println("Stment 创建成功 OKOKOKOKOKOK!");

rs = st.executeQuery("select * from test");

System.out.println("OKOKOKOKO");

if(rs.next()){

System.out.println("OKOKOKOKO");

System.out.println(rs.getString("username"));

}

}catch(Exception ex){

System.out.println(ex.getMessage());

ex.printStackTrace();

}

finally{

try {

if(rs !=null){

rs.close();

}

if(st != null)

st.close();

if(conn != null){

conn.close();

}

}

catch (Exception ex) {

System.out.println(ex.getMessage());

ex.printStackTrace();

}

}

}

}

与数据库已连接上, ResultSet 对象不能创建。

错误提示中的 test 是 数据库 mydb 里一个表

使用的 JB 2006 运行结果是:

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'test' 无效。

at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)

Stment 创建成功 OKOKOKOKOKOK!

[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'test' 无效。

at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)

at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)

at test.Test.connect(Test.java:34)

at test.Test.main(Test.java:17)

參考答案:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = mydb", "sa", "sa");

try语句块里这样写就行,不看你的程序,单就提示信息而言,发生错误的原因可能有以下几点:

一是数据库直连包

二是检查下数据库服务器是否开启,如果已经开启,查看一下用户名和密码是否都是sa,

最后就是你可以直接把sql包引进来看一下有没有问题

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航