| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 539 人关注过本帖
标题:[求助]jdbc的问题
只看楼主 加入收藏
dugucanhong
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-11-12
收藏
 问题点数:0 回复次数:3 
[求助]jdbc的问题

我按照这篇文章做

JAVA与数据库连接方法(二)

现在介绍第二种方法,用关厂商提供的相应驱动程序来连接。

这种实现方法是直接使用数据库厂商提供的用专用的网络协议创建的驱动程序,通过它可以直接将JDBC API调用转换为直接网络调用。这种调用方式一般性能比较好,而且也是实用中最简单的方法。因为它步需要安装其他的库或中间件。几乎所有的数据库厂商都为他们的数据库提供了这种数据库提供了这种JDBC驱动程序,也可以从第三方厂商获得这些驱动程序。

从网址http://industry.Java.sun.com/products/jdbc/drivers/可以看到所有有用的驱动程序的清单。其结果如图所示:

应用程序---JDBC API---驱动程序---数据源

这里首先要安装JDBC的驱动程序,推荐SP2版本的,可从微软网站上下载
http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&DisplayLang=en 下载最下面的SETUP.EXE

这个驱动程序要配合SQL SERVER2000 SP3A,相应下载URL为
http://www.microsoft.com/china/sql/downloads/sp3.asp 下载 chs_sql2ksp3.exe

如果用JAVA SDK直接编译运行的话需要设置环境变量,将安装好的JDBC驱动里面的LIB三个文件设置为环境变量:
classpath:
D:\program files\Microsoft SQL Server\jdbc\lib\msbase.jar;
D:\program files\Microsoft SQL Server\jdbc\lib\mssqlserver.jar;
D:\program files\Microsoft SQL Server\jdbc\lib\msutil.jar;

安装即可用微软的驱动程序连接数据库了,相应代码与前面基本相同:

import java.sql.*;
import java.io.*;
public class DBColumn {

public static void main(String[] args) {
Connection con=null;
Statement sm=null;
String command=null;
ResultSet rs=null;
String tableName=null;
String cName=null;
String result=null;
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("驱动程序已加载");
//SQL SERVER的登陆方式必须为使用SQL SERVER密码登陆认证方式
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://SERVERNAME:1433","USER","PASSWORD");
con.setCatalog("GoodsSupply");
System.out.println("OK,成功连接到数据库");
}catch(Exception ex) {
ex.printStackTrace();
}
try
{
sm=con.createStatement();
System.out.println("输入表名");
tableName=input.readLine();
while(true) {
System.out.println("输入列名(为空时程序结束):");
cName=input.readLine();
if(cName.equalsIgnoreCase(""))
break;
command="select "+cName+" from "+tableName;
rs=sm.executeQuery(command);
if(!rs.next())
System.out.println("表名或列名输入有误");
else {
System.out.println("查询结果为:");
do
{
result=rs.getString(cName);
//result=new String(result.getBytes("ISO-8859-1"),"GB2312");
System.out.println(result);
}while(rs.next());
}
}
}catch(Exception ex) {
ex.printStackTrace();
}
}
}


可是,出现如下错误
java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDrver

请问,哪里错了??

搜索更多相关主题的帖子: jdbc 
2005-11-12 21:31
九层楼
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-11-9
收藏
得分:0 
加载类没有成功,是classpath问题

把你的classpath检查一下

再不行 就把你的classpath贴上来 大家看看
2005-11-12 21:38
dugucanhong
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-11-12
收藏
得分:0 
classpath=C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar;,;C:\Program Files\Mi
crosoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsof
t SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft
SQL Server 2000 Driver for JDBC\lib\msutil.jar;
2005-11-12 21:45
九层楼
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-11-9
收藏
得分:0 
第一,JDK不推荐安装到目录名中含有空格的目录当中。
第二,CLASSPATH = .;%JAVA_HOME%\LIB\TOOLS.JAR;SQL驱动包
没那么难,网上搜搜,会有更好的答复
2005-11-12 22:43
快速回复:[求助]jdbc的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017775 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved