大虾们...穷的要哭了...不能在技术区发帖

feigouge 2011-05-10 08:19:23
import java.sql.*;

public class DBTester{
public static void main(String args[])throws Exception{
Connection con;
Statement stmt;
ResultSet rs;
//加载驱动器,下面的代码为加载sqlserver驱动器
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//注册sqlserver驱动器
// DriverManager.registerDrive(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
//连接到数据库的URL
String dbUrl = "jdbc:microsoft:sqlserver//localhost:3306/STOREDB";
String dbUser="sa";
String dbPwd="ws2011it";
//建立数据库连接
con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
//创建一个Statement对象

stmt = con.createStatement();
//增加新记录
String name1=new String("小王".getBytes("GB2312"),"ISO-8859-1");
String address1=new String("上海".getBytes("GB2312"),"ISO-8859-1");
stmt.executeUpdate("insert into CUSTOMERS (NAME,AGE,ADDRESS) VALUES ('"+name1+"',20,'"+address1+"')");

//查询记录
rs= stmt.executeQuery("SELECT ID,NAME,AGE,ADDRESS from CUSTOMERS");
//输出查询结果
while (rs.next()){
long id = rs.getLong(1);
String name = rs.getString(2);
int age = rs.getInt(3);
String address = rs.getString(4);

//字符编码转换
if(name!=null)name=new String(name.getBytes("ISO-8859-1"),"GB2312");
if(address!=null)address=new String(address.getBytes("ISO-8859-1"),"GB2312");
//打印所显示的数据
System.out.println("id="+id+",name="+name+",age="+age+",address="+address);
}

//删除新增加的记录
stmt.executeUpdate("delete from CUSTOMERS where name='"+name1+"'");

//释放相关资源
rs.close();
stmt.close();
con.close();
}
}
我在环境变量里面明明设置了JDBC驱动器类库的路径了,可是就是编译不过,大虾们救救我吧,纠结两天了
Exception in thread "main" java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at DBTester.main(DBTester.java:9)
以上是错误
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
feigouge 2011-05-10
  • 打赏
  • 举报
回复
恩...看了好多帖子终于搞定了....其实也很简单总结一下。
1.JDBC驱动器的类库一定要找跟数据库软件对应的。
2.类库放置的位置一般为%java_home%jre\bin\,如果不行的话放在%JAVA_HOME%\jre\lib\ext文件夹中。这里就是问什么会一直说com.microsoft.jdbc.sqlserver软件包找不到的原因
3.还有一点就是not found driver问题:原因如下
确保“jdbc:sqlserver://”URL 前缀由
JDBC 驱动程序的 2005 版本处理,而“jdbc:microsoft:sqlserver://”
URL 前缀将由 JDBC 驱动程序的 2000 版本处理。
4.保证TCP/IP,以及端口的设置是正确的。具体参照http://topic.csdn.net/u/20100224/17/C3C8FEF2-CBAB-4B7B-B0A5-F8B106ACBEAB.html
还有一点就要说的是我是用的sqlserver 2005数据库。
amos1989 2011-05-10
  • 打赏
  • 举报
回复
sql server三个jar包,自己google一下
  • 打赏
  • 举报
回复
你没导入JDBC那个类包把!

23,404

社区成员

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

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