连接数据库 ms sql server 失败

hzhxxx 2004-08-02 10:25:33
class connectMSSQLSERVER
{
public void connect()
{


//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
// connect to the database
// sqlConn=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.2:1433;DatabaseName=pubs;SelectMethod=direct","dxxx","");


String dburl = "jdbc:microsoft:sqlserver://192.168.1.2:1433;DatabaseName=hd_pub";
String user = "sa";
String password = "sa";
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection c = DriverManager.getConnection(dburl,user, password);

if(c.isClosed())
{
System.out.println("error");
return;
}

c.setAutoCommit(false);
Statement s = c.createStatement();
ResultSet r = s.executeQuery("select cempno,cpdm from sys_parm");

while(r.next())
{
System.out.println(r.getString(1) + r.getString("cpdm"));
}
s.close();
c.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

错误提示:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

at java.net.URLClassLoader$1.run(URLClassLoader.java:198)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:186)

at java.lang.ClassLoader.loadClass(ClassLoader.java:299)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)

at java.lang.ClassLoader.loadClass(ClassLoader.java:255)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:140)

at aaa.connectMSSQLSERVER.connect(Frame1.java:133)

at aaa.Frame1.jButton1_actionPerformed(Frame1.java:65)

at aaa.Frame1_jButton1_actionAdapter.actionPerformed(Frame1.java:86)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)

at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)

at java.awt.Component.processMouseEvent(Component.java:5134)

at java.awt.Component.processEvent(Component.java:4931)

at java.awt.Container.processEvent(Container.java:1566)

at java.awt.Component.dispatchEventImpl(Component.java:3639)

at java.awt.Container.dispatchEventImpl(Container.java:1623)

at java.awt.Component.dispatchEvent(Component.java:3480)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)

at java.awt.Container.dispatchEventImpl(Container.java:1609)

at java.awt.Window.dispatchEventImpl(Window.java:1590)

at java.awt.Component.dispatchEvent(Component.java:3480)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)


1. 我使用 jdatastore explorer 可以连接成功,连接参数也是那样 copy 下来的
实在想不出来那里还有错误, jsdv 的驱动安装了,三个文件也 copy 到了 jdk 下面的 lib 下面

2. 我怎么知道一个 connection 对象的状态,是否连接,难道一定要执行一个 SQL 吗???

...全文
209 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
TGITCIC 2004-10-18
  • 打赏
  • 举报
回复
把下载下来的三个JAR都放在一个LIB里,然后把这个LIB加在你的JB PROJECT里,连编,就不会有这个错了
hzhxxx 2004-08-04
  • 打赏
  • 举报
回复

to 回复人: zihan(子寒) ( ) 信誉:100

好像在 pb 里面见过啊
xwei520 2004-08-03
  • 打赏
  • 举报
回复
1. 我使用 jdatastore explorer 可以连接成功,连接参数也是那样 copy 下来的
实在想不出来那里还有错误, jsdv 的驱动安装了,三个文件也 copy 到了 jdk 下面的 lib 下面

应该是没加载mssql的驱动
2. 我怎么知道一个 connection 对象的状态,是否连接,难道一定要执行一个 SQL 吗???
用boolean connection.isClosed();就可以查看状态!~

hzhxxx 2004-08-03
  • 打赏
  • 举报
回复

他妈的,我在 jb9 里面已经可以连接上 ms sql server 2000
了,

但是在 jb9 里面使用 代码还是不可以
连接参数都是 从 那个database polit 里面 copy 出来的

怎么会出现 class 没有找到啊
zihan 2004-08-03
  • 打赏
  • 举报
回复
错误提示已经提示了啊。java.lang.ClassNotFoundException: 你在你的那个连接函数里面加一个异常就可以了,也就是这个。
throws SQLException, ClassNotFoundException
hzhxxx 2004-08-03
  • 打赏
  • 举报
回复


我的 三个文件有 700 多 K 的也有 400 多 k 的,是不是都可以啊

hzhxxx 2004-08-03
  • 打赏
  • 举报
回复


://localhost:1433 和 192.168.0.2: 应该没有区别,因为 这个 ip 就是我的 本机
我在查询分析器里面都可以使用 ip 连接成功
zihan 2004-08-03
  • 打赏
  • 举报
回复
晕,前面看错了,出现了跟你一样的问题.帮你顶.
xwei520 2004-08-03
  • 打赏
  • 举报
回复
晕,javax.sql后面又没有microsoft这个包你能点出来我佩服你了!~
hzhxxx 2004-08-03
  • 打赏
  • 举报
回复


我要怎样才可以加入到环境变量里面啊

classpath 设置了

java_home 设置了

javasdk\lib 也有那三个文件了

就是不通

import javax.microsoft.sqlserver 压跟就没有看到

在 jb 里面 键入

import javax. 后没有出现 microsoft




仙鹤 2004-08-03
  • 打赏
  • 举报
回复
我觉得是你的mssql 的jdbc驱动没有加到环境变量里。
voodgen 2004-08-02
  • 打赏
  • 举报
回复
import java.sql.*;
class connectMSSQLSERVER
{
public static void main(String[] args) throws SQLException, ClassNotFoundException
{

String dburl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hd_pub";
String user = "sa";
String password = "sa";
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection c = DriverManager.getConnection(dburl, user, password);

if(c.isClosed())
{
System.out.println("error");
return;
}

c.setAutoCommit(false);
Statement s = c.createStatement();
ResultSet r = s.executeQuery("SELECT * FROM Employees");

while(r.next())
{
System.out.println(r.getString(1) + r.getString("cpdm")); }
s.close();
c.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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