作者:期待眺望未来_974 | 来源:互联网 | 2023-05-22 16:42
刚刚安装了SQLServer2000,想测试一下是否能连接数据库,写了如下的代码,但是端口没有打开,所以又安装了sql2kasp3.exe补丁程序,但是用netstat查看,显示端口1443还是
刚刚安装了SQLServer2000 ,想测试一下是否能连接数据库,写了如下的代码,但是端口没有打开,所以又安装了sql2kasp3.exe补丁程序,但是用 netstat 查看,显示端口1443还是没有打开,请各位指点一下!
import java.sql.*;
public class TestDB {
public static void main(String[] args) {
Connection conn;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection ("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testdb", "", "");
System.out.println("Connection Successful!");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.
(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at TestDB.main(TestDB.java:15)
10 个解决方案
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 貌似驱动包没有导入
在你的开始--程序的sql中有没 服务器网络实用工具 如果有 你看看这里面有端口的是不是1433
给你集中连接数据库的参考咯:
连接mysql
在lib下添加 mysql-connector-java-5.0.6-bin.jar
package com.demo.xu;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
private static Connection cOnn=null;
private static final String DRIVER=
"com.mysql.jdbc.Driver";
private static final String URL=
"jdbc:mysql://localhost/test?user=root&password=111111";
static {
try {
Class.forName(DRIVER).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
}
public synchronized static Connection getConn()throws SQLException {
return DriverManager.getConnection(URL);
}
public static void main(String[] args) throws SQLException {
String sql="select *from users";
cOnn=DBUtil.getConn();
Statement sta=conn.createStatement();
ResultSet rs=sta.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(3));
}
}
}
连接sql2005 lib下导入sqljdbc.jar
package com.demo.xu;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLDB {
private static Connection cOnn=null;
private static final String DRIVER=
"com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL=
"jdbc:sqlserver://localhost:1433;databaseName=test";
private static String ename="sa";
private static String pwd="xu123";
static {
try {
Class.forName(DRIVER).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConn()throws SQLException{
return DriverManager.getConnection(URL,ename,pwd);
}
public static void main(String[] args) throws SQLException {
cOnn=SQLDB.getConn();
System.out.println(conn.toString());
}
}
oralce10g连接
libclasses12.jar
package com.demo.xu;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class oracleDB {
private static Connection cOnn=null;
private static final String DRIVER=
"oracle.jdbc.driver.OracleDriver";
private static final String URL=
"jdbc:oracle:thin:@localhost:1521:ORCL";
// ORCl:为oracle服务名称
private static String ename="system";
private static String pwd="system";
static {
try {
Class.forName(DRIVER).newInstance();
} catch (Exception e) {
// TODO: handle exception
}
}
public static Connection getConn()throws SQLException {
return DriverManager.getConnection(URL,ename,pwd);
}
public static void main(String[] args) throws SQLException {
cOnn=oracleDB.getConn();
System.out.println(conn.toString());
}
}
估计只是sql2kasp3.exe解压缩了,并没有执行setup.bat
SQL SERVER 2000需要升级到 SP3以上 ~
另外驱动包要导入相应位置 ~
看看你的这里面的conn = DriverManager.getConnection ("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testdb", "", "");
数据库名字,密码是不是空的想你写的那样的啊!我们刚开始学习的时候由于不熟悉照抄别人的代码的时候,要注意那些可变的地方
如果是1433端口没有打开,你就要检查sql运行的服务了,确认sql的服务器管理器是运行状态
还有就是sql服务是开启的MSSQLSERVER这个服务开启
就会开启1433端口
你到网站上下载一个SQL SERVER的安装补丁包,我怀疑是你的SQL SERVER版本低,需要打补丁。我在学校做JSP时也遇到过你那样的问题,打了补丁就可以连接数据库了。