也许是你的sqlserver数据库或jdbc驱动没有打补丁,很多人都范这个错误,这两个微软都是有发布补丁的,不装就会有连接的问题!

解决方案 »

  1.   

    JSP连接各种数据库的代码:
    一、jsp连接Oracle8/8i/9i数据库(用thin模式) 
    testoracle.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
    String url="jdbc:oracle:thin:@localhost:1521:orcl"; 
    //orcl为你的数据库的SID 
    String user="scott"; 
    String password="tiger"; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    二、jsp连接Sql Server7.0/2000数据库 
    testsqlserver.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; 
    //pubs为你的数据库的 
    String user="sa"; 
    String password=""; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    三、jsp连接DB2数据库 
    testdb2.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); 
    String url="jdbc:db2://localhost:5000/sample"; 
    //sample为你的数据库名 
    String user="admin"; 
    String password=""; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    四、jsp连接Informix数据库 
    testinformix.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.informix.jdbc.IfxDriver").newInstance(); 
    String url = 
    "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; 
    user=testuser;password=testpassword"; 
    //testDB为你的数据库名 
    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    五、jsp连接Sybase数据库 
    testmysql.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.sybase.jdbc.SybDriver").newInstance(); 
    String url =" jdbc:sybase:Tds:localhost:5007/tsdata"; 
    //tsdata为你的数据库名 
    Properties sysProps = System.getProperties(); 
    SysProps.put("user","userid"); 
    SysProps.put("password","user_password"); 
    Connection conn= DriverManager.getConnection(url, SysProps); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    六、jsp连接MySQL数据库 
    testmysql.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
    //testDB为你的数据库名 
    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
    七、jsp连接PostgreSQL数据库 
    testmysql.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("org.postgresql.Driver").newInstance(); 
    String url ="jdbc:postgresql://localhost/soft" 
    //soft为你的数据库名 
    String user="myuser"; 
    String password="mypassword"; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html>
      

  2.   

    补丁打过了,sqlserver的补丁和jdbc的补丁都打了
      

  3.   


    1.检查sql server是否在运行
     telnet yourhost 1433
      2.安装sql server2000  sp3试试看
      

  4.   

    在dos下输入:netstat -a -n
    看一下1433的端口的State是否为LISTENING
      

  5.   

    启动了,我把三个服务都开了,1433为listening
      

  6.   

    谢谢大家,问题解决:
    我把String address = "jdbc:microsoft:sqlserver://192.168.0.146:1433";改为
    String address = "jdbc:microsoft:sqlserver://localhost:1433"就好了。
    但又有个问题,如果我是连别人的机器,这里应该怎么设置呢?希望大家能继续支招。明天结贴。
      

  7.   

    刚要说用127.0.0.1呵呵 localhost 一样了 恭喜楼主问题解决了 要是在不别人的机器上 你先在本机注册上他的数据库服务器  把ip更换 用户名和密码都更换
      

  8.   

    看看端口是不是1433,还有sqlserver是不是打开了TCP/IP的连接权限
      

  9.   

    谢谢大家,问题解决:
    我把String address = "jdbc:microsoft:sqlserver://192.168.0.146:1433";改为
    String address = "jdbc:microsoft:sqlserver://localhost:1433"就好了。
    但又有个问题,如果我是连别人的机器,这里应该怎么设置呢?希望大家能继续支招。明天结贴。
    肯定是sqlserver的TCP/IP的连接权限没有打开,看看属性里的网络配置!!
      

  10.   

    是啊,如果是win2003那里的确需要看一下,2003把很多2000的默认项都勾掉了。