连接数据库(SQLServer2000)报错:Unknown Source(找不到数据源是何原因),请指教?

thalass 2008-02-06 11:51:56
当我建立与SQLServer2000数据库连接时,报错误:
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
驱动未找到
数据库未能连接!

对于企业管理器中的安全性的登录属性已设置,密码等也调整了,数据库也建好,那"找不到数据源是何原因"呢?

如果在不浪费大家太多时间的情况,请有空儿指点一下!
我写的数据库连接代码:

import java.sql.*;
public class DBAccess {
Connection con = null;
PreparedStatement sta = null;
ResultSet rs = null;
public DBAccess(){
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("驱动未找到");
}
}
public void open(){
try {
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost;databasename=users","sa","");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库未能连接!");
}
}

public static void main(String[] args) {
DBAccess dta = new DBAccess();
dta.open();

}

}
...全文
1421 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
rosa126 2008-04-12
  • 打赏
  • 举报
回复
我的问题终于解决了,感谢sinntyoukai的那幅图片,呵呵
sinntyoukai 2008-02-11
  • 打赏
  • 举报
回复
我运行没有任何问题,可能是你 数据库服务器的事,再不就是导入sql jdbc驱动包出问题

我把你的工程 导入驱动包之后 打成了war包,你下下来之后导入到tomcat下,一测试就知道怎么回事啦,http://localhost:8080/123456789/index.jsp

如果连接成功,就说明是你刚才导入驱动包的时候出现问题,如果还是连接不成功就可能是 你数据库服务器的事。代码本身没有问题。

你下下来运行一下看看吧
http://download.csdn.net/hicsdn/sinntyoukai

thalass 2008-02-10
  • 打赏
  • 举报
回复
不好意思还要请教大家,JDBC驱动我加载后,还是报如下错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DBAccess.open(DBAccess.java:16)
at DBAccess.main(DBAccess.java:59)
数据库未能连接!

DBAccess.java:16-->指向此行:con = DriverManager.getConnection ("jdbc:microsoft:sqlserver://localhost;databasename=users","sa","");
DBAccess.java:59-->指向此行:dta.open();
sinntyoukai 2008-02-07
  • 打赏
  • 举报
回复
SQL server 的 JDBC驱动包我压缩完传到我的空间上了,稍后就能显示。你下载就行了,不需要积分。

http://download.csdn.net/hicsdn/sinntyoukai

sinntyoukai 2008-02-07
  • 打赏
  • 举报
回复
加入的几个 JDBC驱动包如下 : 点击图片查看即可。

sinntyoukai 2008-02-07
  • 打赏
  • 举报
回复
你的代买没有问题,关键是你没有导入JDBC驱动包

我把你的代买修改了一下连接的数据库名字和密码 加了一个判断是否打开数据库连接的提示,代码如下:
package connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBAccess {
Connection con=null;
PreparedStatement sta=null;
ResultSet rs=null;

public DBAccess(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException e){
e.printStackTrace();
System.out.println("驱动未找到");
}
}

public void open(){
try{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost;databasename=test","topszk","186899");/*数据库名用户名密码我改成我的了*/
if(!con.isClosed()){
System.out.println("连接成功!");//显示是否连接成功
}
}catch(SQLException e){
e.printStackTrace();
System.out.println("数据库未能连接!");
}
}

public static void main(String[] args){
DBAccess dta=new DBAccess();
dta.open();
}
}
icesky888 2008-02-07
  • 打赏
  • 举报
回复
这个是我写的桥连如果不成功就改成直连形式进行连接,
你直连的url写错了 少了端口号1433
icesky888 2008-02-07
  • 打赏
  • 举报
回复
private Connection con;
private Statement sta;
private ResultSet rs;
private String uid="sa";
private String pwd="";
private String url="jdbc:odbc:zhuge";
private String driver="sun.jdbc.odbc.JdbcOdbcDriver";
public DBAccess()
{
OpenDB();
}
private void OpenDB()
{
try {
if(con==null)
{
Class.forName(driver);

con=DriverManager.getConnection(url,uid,pwd);
}

} catch (Exception e) {
// TODO Auto-generated catch block
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Hospital";
driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
OpenDB();
}
}
icesky888 2008-02-07
  • 打赏
  • 举报
回复
桥连的时候一定要记得配置ODBC
老紫竹 2008-02-07
  • 打赏
  • 举报
回复
建议你带IDE,比如eclipse里面运行这类东西,Classpath的问题还是很普遍的。
老紫竹 2008-02-07
  • 打赏
  • 举报
回复
JDBC驱动放错了地方!

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧