我在一次Java WEB项目 开发中,
如下的程序:
- private Connection conn;
- private Statement stmt;
- private PreparedStatement pstmt;
- private ResultSet rst;
- private void init()
- {
- try{
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
- String url = "jdbc:sqlserver://localhost:1433;DatabaseName=take_out";
- conn = DriverManager.getConnection(url, "sqlTeam", "123456");
- /测试用************
- System.out.println("连接成功!!!");
- System.out.println("连接成功!!!");
- System.out.println("连接成功!!!");
- **************
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- public DBConnect(String s)
- {
- try
- {
- init();
- pstmt = conn.prepareStatement(s);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- public DBConnect()
- {
- try{
- init();
- stmt = conn.createStatement();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
private Connection conn;
private Statement stmt;
private PreparedStatement pstmt;
private ResultSet rst;
private void init()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=take_out";
conn = DriverManager.getConnection(url, "sqlTeam", "123456");
/测试用************
System.out.println("连接成功!!!");
System.out.println("连接成功!!!");
System.out.println("连接成功!!!");
**************
}
catch (Exception e)
{
e.printStackTrace();
}
}
public DBConnect(String s)
{
try
{
init();
pstmt = conn.prepareStatement(s);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public DBConnect()
{
try{
init();
stmt = conn.createStatement();
}
catch (Exception e)
{
e.printStackTrace();
}
}
抛出了一些异常,其中第一句话就如下:
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
我的数据库是MS-SQL Server2005的, 当时Google 一下,很多帖子都是说都说要在SQL SERVER CONFIGURATION MANAGER里把默认关闭的TCP/IP从禁止改成启用,把SQL SERVER BROWSER也打开.
,可是我的打开了,端口为1433的,但是我在运行“CMD”后的DOS控制台里输入 netstat -an的命令发现,端口为1433的,系统并没有在侦听。这搞得很郁闷。
后来想了很多方法;
其中针对不同人的电脑有不同的方法,比如我的朋友的电脑当时也出现了上面情况,他这样做就行了:
“确定TCP/IP有没有启动.
确定TCP端口对不对, 在TUTORIAL和SAMPLE里的都是1433端口, 可是我SQL SERVER的TCP接听端口是2159. 把程序里的1433改成1459就马上可以用了.
设置方法:
打开SQL SERVER CONFIGURATION MANAGER (不记得SQLEXPRESS版本有没有这个了, ENTERPRISE版本的有), 左边窗口扩展SQL SERVER 2005 网络配置, 选择SQLEXPRESS 的协议(你的名字不一定是SQLEXPRESS), 右边窗口中双击TCP/IP, 弹出窗口中顶部TAB点"IP 地址", 看IPA11(或者是IPAll..看不出来是1还是l), 里面"TCP 动态端口"的值就是你的端口. ”(以上是当时一起讨论的时候针对他的电脑得出的)
可是我的电脑就麻烦一点;
.........待续..
现在还在麻烦中...
等会再把方法上传
(*^__^*) 嘻嘻……