jdbc连接SQL 2000数据库的问题,怎么也连不上,请高手看看!
我试用的操作系统是 XP Home,数据库是 sql 2000,编写了个测试数据连接的程序,但是不管怎么也执行不了,编译可以通过,以下是所有源代码,请高手指点:
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Date;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
public class GetConn
{
private Connection con;
private String url;//数据库URL
private String userName;//登录数据库用户名
private String password;//用户密码
private String strDriver;
public static void main(String[] args)
{
GetConn dbConn = new GetConn();
dbConn.getProperty();
Connection cnn= dbConn.getConnection();
}
/**
* 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作
* 会把建立数据库的连接作为一个单独的方法。
*/
public Connection getConnection()
{
try
{
con = DriverManager.getConnection(url, userName, password);
}
catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
/**
* 读取属性配置文件
*/
public void getProperty()
{
Properties prop = new Properties();
try
{
FileInputStream in = new FileInputStream( "Drivers.properties ");
prop.load(in);
String driver = prop.getProperty( "drivers ");
if(driver != null)
System.setProperty( "jdbc.drivers ", driver);
url = prop.getProperty( "url ");
userName = prop.getProperty( "user ");
password = prop.getProperty( "password ");
strDriver=driver;
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
//属性文件
drivers=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://xyz:1433;DatabaseName=java
user=sa
password=123
//编译后通过java GetConn 执行提示以下错误:
Exception in thread "main " java.lang.NoClassDefFoundError:com/microsoft/util/utilDummyPrintWriter
at java.lang.Class.forName0(Native Method)
at java.lang.class.forName(Unknown Source)
at java.sql.DriverManager.loadInitialDrivers(unknown Source)
at java.sql.DriverManager.getConnection(unknown Source)
at GetConn.getConnection(GetConn.java:37)
搞不懂是哪里出了问题?
[解决办法]
public Connection getConnection() throws Exception
{
Class.forName(drivers);
return DriverManager.getConnection(url, userName, password);
}
[解决办法]
at java.sql.DriverManager.loadInitialDrivers(unknown Source)
at java.sql.DriverManager.getConnection(unknown Source)
at GetConn.getConnection(GetConn.java:37)
装载驱动时出错,试用Class.forName(strDriver)看是否已包含了正确的驱动
[解决办法]
我也出现这种情况过 多数是 驱动 问题. 建议配置一下驱动.
[解决办法]
学习下!
[解决办法]
引用:“加上Class.forName(strDriver) 一句后编译都无法通过。”
你在public Connection getConnection()这个方法中,都没有传入strDriver这个参数,当然无法通达编译啦。
[解决办法]
看是不是驱动有问题啊,程序是对的
[解决办法]
你没有注册数据库驱动吧
[解决办法]
不要使用微软的驱动
[解决办法]
public Connection getConnection()
{
try
{
con = DriverManager.getConnection(url, userName, password);
}
catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
这样写程序怎么知道去要用什么数据库
把drivers加到里面去
[解决办法]
呵呵学习哈!
[解决办法]
查看资料先!
[解决办法]
应该是驱动问题