问题描述
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassQueryRecord{privateConnectionconn=null;privateStatementst=null;privateResultSetrs=null;publicQueryRecord(){try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundExceptione){e.printStackTrace();}}publicvoidshowRecord(){try{Stringurl="jdbc:sqlserver://localhost:1433;databaseName=db_test";Stringusername="";Stringpassword="dingshaohua";conn=DriverManager.getConnection(url,username,password);st=conn.createStatement();Stringsql="select*fromtb_employee";rs=st.executeQuery(sql);while(rs.next()){System.out.print(rs.getInt(1)+"t");System.out.print(rs.getString(2)+"t");System.out.print(rs.getString(3)+"t");System.out.print(rs.getInt(4)+"t");System.out.print(rs.getString(5)+"t");System.out.print(rs.getString(6)+"t");System.out.println(rs.getString(7)+"t");}}catch(SQLExceptione){e.printStackTrace();}finally{try{rs.close();st.close();conn.close();}catch(SQLExceptione){e.printStackTrace();}}}publicstaticvoidmain(String[]args){QueryRecordquery=newQueryRecord();query.showRecord();}}报这个错误:com.microsoft.sqlserver.jdbc.SQLServerException:到主机的TCP/IP连接失败。java.net.ConnectException:Connectionrefused:connectatcom.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.connect(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerDriver.connect(UnknownSource)atjava.sql.DriverManager.getConnection(UnknownSource)atjava.sql.DriverManager.getConnection(UnknownSource)atQueryRecord.showRecord(QueryRecord.java:22)atQueryRecord.main(QueryRecord.java:49)Exceptioninthread"main"java.lang.NullPointerExceptionatQueryRecord.showRecord(QueryRecord.java:39)atQueryRecord.main(QueryRecord.java:49)什么原因?
解决方案
解决方案二:
楼主。右键我的电脑-管理-服务和应用程序。。这有个一TCP/IPsql服务默认是禁用的。你把它启用就可以了。这个问题可能是你刚装的sql2005希望可以帮到你。。。。。
解决方案三:
会不会是因为这个:“Stringusername=""”
解决方案四:
引用2楼seaely的回复:
会不会是因为这个:“Stringusername=""”
如果是那个问题。会直接提示连接数据库失败。楼主这个问题我遇到过几次。
解决方案五:
该回复于2011-01-13 16:42:40被版主删除
解决方案六:
你这个代码有味。我没怎么用过server2005这个数据库。但是我知道你访问数据库至少要一个用户名吧!你的代码里的用户名一直没有赋值。你就连你的数据库,它如果让你连了。那个server2005数据库,就跨了。什么都可以去连他。还要一点,注意你的server2005数据库开启了没?就这么多。
解决方案七:
Stringurl="jdbc:sqlserver://localhost:1433;databaseName=db_test";Stringusername="";不好意思,没看到url写了Stringurl="jdbc:sqlserver://localhost:1433";Stringusername="db_test";试试。。。
解决方案八:
引用1楼z80412007的回复:
楼主。右键我的电脑-管理-服务和应用程序。。这有个一TCP/IPsql服务默认是禁用的。你把它启用就可以了。这个问题可能是你刚装的sql2005希望可以帮到你。。。。。
正解
解决方案九:
除了6L的说的之外,2005服务器设置有很多个地方:1)是否允许Windwos和SQL身份验证同时开启。这个在managerstudio右键服务器,安全性里面可以设置2)如果是sa账户,默认是禁止登陆的。要启用以上两个在managerstudio中就可以试出来。如果已经OK了,再考虑6L的
解决方案十:
去在SQLserver配置里面把把那个TCP/ip协议开启一下。。。并重启sqlserver
解决方案十一:
你电脑服务没开啊windows2000在服务里面开启你的数据库还有楼上的databaseName不是用户名,是数据库名原先的url是对的
解决方案十二:
我就是找不到你们说的开TCP/ip的地方。你们说的我还是不太清楚,什么在sqlserver的配置里面,在我的电脑管理里面......怎么都没有开启TCP/ip的地方?
解决方案十三:
引用1楼z80412007的回复:
楼主。右键我的电脑-管理-服务和应用程序。。这有个一TCP/IPsql服务默认是禁用的。你把它启用就可以了。这个问题可能是你刚装的sql2005希望可以帮到你。。。。。
我好像找到了是不是右键我的电脑-管理-服务和应用程序-sqlserver2005网络配置,里面的sql2005的协议里面的TCP/IP?那个我已经启用了可是还是报这个错误:com.microsoft.sqlserver.jdbc.SQLServerException:到主机的TCP/IP连接失败。java.net.ConnectException:Connectionrefused:connectatcom.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.connect(UnknownSource)atcom.microsoft.sqlserver.jdbc.SQLServerDriver.connect(UnknownSource)atjava.sql.DriverManager.getConnection(UnknownSource)atjava.sql.DriverManager.getConnection(UnknownSource)atQueryRecord.showRecord(QueryRecord.java:22)atQueryRecord.main(QueryRecord.java:49)Exceptioninthread"main"java.lang.NullPointerExceptionatQueryRecord.showRecord(QueryRecord.java:39)atQueryRecord.main(QueryRecord.java:49)
解决方案十四:
好像那个图标是一个小水管,你试试。
解决方案十五:
打开那个以后在第一个子项有一个最短的服务名,然后启动它。
解决方案:
是不是sqlserver没弄的好啊,或者是用户名,密码有问题,反正这段代码没有问题
解决方案:
引用7楼wei2010happy的回复:
引用1楼z80412007的回复:楼主。右键我的电脑-管理-服务和应用程序。。这有个一TCP/IPsql服务默认是禁用的。你把它启用就可以了。这个问题可能是你刚装的sql2005希望可以帮到你。。。。。
这个可以试试