直接用Jdbc连接不就得了
用什么ODBC-JDBC桥呢

解决方案 »

  1.   

    因为是SQL SERVER应该需要有USER和PASSWORD的,你好象没有添加,在jdbc:odbc:BC的后面
      

  2.   

    我用jdbc连接,调试下面的代码,但有问题啊!我在ODBC中增加BC的DatabaseName,其中有一个表为test.我代码为:
    1。beans:
    package jsp.test;
    import java.sql.*;
    public class faq{
    String   sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String sConnStr="jdbc:microsoft:sqlserver://192.168.39.202:1433;DatabaseName=BC";
    Connection conn=null;
    ResultSet rs=null;
    public faq()
    {
    try{
    Class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e)
    {
    System.err.println("faq():"+e.getMessage());
    }
    }
    public ResultSet executeQuery(String sql)
    {
    rs=null;
    try{
    conn=DriverManager.getConnection(sConnStr,"sa","");
    Statement stmt=conn.createStatement();
    rs=stmt.executeQuery(sql);
    }
    catch(SQLException ex)
    {
    System.err.println("aq.executeQuery:"+ex.getMessage());
    }
    return rs;
    }
    2:jsp:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>我的FAQ!</title>
    </head>
    <body>
    <p><b>This is my FAQ!</b></p>
    <%@ page language="java" import="java.sql.*" %>
    <jsp:useBean id="workM" scope="page" class="jsp.test.faq" />
    <%
      ResultSet RS=workM.executeQuery("select * from test");
      String tt;
      while(RS.next())
      {
      tt=RS.getString("Answer");
      out.print("<LI>"+RS.getString("subject")+"</LI>");
      out.print("<pre>"+tt+"</pre>");
      }
      RS.close();
      %>
    </body>
    </html>但出现:A Servlet Exception Has Occurred
    Exception Report:
    javax.servlet.ServletException: Column not found错误。麻烦帮忙看看的!
      

  3.   

    那么字段里面有没有记录?测试一下,在out.print前面随便out.print什么东西,看看这个循环有没有成立。其他的我就想不出来还能做什么了。奇怪的很
      

  4.   

    在编译beans时,出现错误的:Class.forName(sDBDriver).newInstance();
    如果把上面改为:
    Class.forName(sDBDriver),编译就没问题的。但初始话正确是上面的啊!!!