为何连不上,郁闷
package JavaBean;
import java.sql.*;
import java.io.PrintWriter;
public class DB_conn{
private Connection conn=null;
public Statement sm=null;
private PrintWriter out = null;
public void connectDB(){
try{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
conn=DriverManager.getConnection( "jdbc:odbc:shop ", "sa ", " ");
sm=conn.createStatement();
}
catch(Exception e){
System.out.println( "数据库
连接失败! ");
}
}
public void closeDB(){
try{
if(sm!=null)
{
sm.close();
}
conn.close();
}
catch(Exception e){
System.out.println( "数据库关闭失败! ");
}
}
}
数据库dsn也做好了,就是上不去。。。
------解决方案--------------------异常信息是什么
------解决方案--------------------sqlserver吧,不用通过odbc连,直接用jdbc连就可以了.
1、下载SQL Server 2000 driver for JDBC
SQL Server 2000 Driver For JDBC Downloads
该驱动截止目前有四个版本,建议下载最新的SP3版。
该驱动安装成功后,请将安装目录下的lib目录下的三个.jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,将这三个文件根据IDE的提示加到工程中也可。
2、升级你的SQL Server 2000,为其打上最新的补丁。
这一步可能不是必需的,因操作系统环境而定,在不打补丁的情况,有时可以正常连接,有时却不能,所以建议还是安装最新的SQL Server 2000补丁(SP4)和JDBC驱动(SP3)。
如果你的程序在运行时提示:
Error establishing socket,一般情况下,打上SQL Server 2000的补丁就可解决。
3、驱动的加载方法
在建立连接之前,要先加载SQL Server 2000 JDBC的驱动,代码形式如下:
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ");
在此注意,forName方法的参数字符串必须完全相同于以上内容,大小写是区分的,其实这个串就是驱动类的完整名称:包名+类名。
4、获得一个连接
在操作数据库之前,要先获得与数据库的一个连接,使用如下代码格式:
DriverManager.getConnection(连接字符串, 登录用户名, 登录密码);
例:
DriverManager.getConnection( "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs ", "sa ", " ");
在此处关键的是连接字符串的内容,localhost部分即服务器的名字,可以更改;1433部分为SQL Server使用的端口号,根据实际情况修改即可;DatabaseName即为要连接的数据库的名字,在此注意DatabaseName之前的是分号,而不是冒号。
5、代码实例
// 导入Java SQL包,连接数据库必需;
import java.sql.*;
public class TestDB {
public static void main(String[] args) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver ";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs ";
String userName = "sa ";
String userPwd = " ";
Connection dbConn
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.o