一?这里不就是JAVA版嘛!JAVA连接到数据库用的是JDBC-ODBC桥,那对SQL SERVER来说,用的驱动就是sun.jdbc.odbc.JdbcOdbcDriver,
你给出来的代码还不能完成数据库连接的工作。具体的可以上网找一些例子看看,这方面的东西很多的!!

解决方案 »

  1.   

    楼上的你用的是桥接的方式,而我用的是安装了jdbc for sql server2000的驱动,而后听说不用桥接方式也能访问数据库的。(因为不可能程序再一台机器上运行一下就要人家去设odbc数据源啊,似乎不实用啊。但如果在安装文件中放上jdbc for sql server2000的驱动程序,哪只要自动安装完该驱动就能访问数据库了。我记得有这种方法的,就是具体不清楚)
      

  2.   

    JSP连接数据库大全数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建
    create table test(test1 varchar(20),test2 varchar(20)
    然后向这个表写入一条测试纪录
    ========================================================================
    一、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>
    ========================================================================
    八、jsp连接Access数据库
    <%@page import="java.sql.*"
    import ="java.util.*"
    import ="java.io.*"
    import="java.text.*"
    contentType="text/html; charset=gb2312"
    buffer="20kb"
    %><%! int all,i,m_count;
    String odbcQuery;
    Connection odbcconn;
    Statement odbcstmt;
    ResultSet odbcrs;
    String username,title,content,work,email,url,time,date;
    String datetime;
    %>
    <%
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }catch (ClassNotFoundException e)
    { out.print ("驱动程序不存在");
    }
    try{
    odbcconn = DriverManager.getConnection("jdbc:odbc:db1");
    odbcstmt = odbcconn.createStatement();
    odbcQuery="Select * From book where datetime>2001-4-26 Order By datetime DESC";
    odbcrs=odbcstmt.executeQuery(odbcQuery);
    int i=0;
    while (i<130) odbcrs.next();
    while (odbcrs.next())
    {
    //*/////////////////////////显示数据库的内容用于调试程序是用//
    int ii;
    try{
    try{
    for (ii=1;;ii++)
    out.print ("<br/>Cloumn "+ii+" is: "+odbcrs.getString(ii));
    }catch (NullPointerException e) {
    out.print ("有空的指针");
    }
    }catch (SQLException e){
    }
    }
    odbcrs.close();
    odbcstmt.close();
    odbcconn.close();
    }catch (SQLException e)
    { out.print (e);
    }
    %>
      

  3.   

    另外看你用什么容器了,如果你用JBoss容器的话,那么可以直接这样写:
    在数据连接池中配置好数据后(JBoss内有样例):Context.lookup(数据名)
    就可以得到DataSource,利用DataSource得到Conncet
      

  4.   

    //连接SQL SERVER数据库
    String URL = "jdbc:microsoft:sqlserver://192.168.2.88:1433;DatabaseName=account";
    String User = "sa";
    String Pwd = "";
    db = new JDataBase ("com.microsoft.jdbc.sqlserver.SQLServerDriver");//这是我自己写的一个操作数据库的类!!/*
     *文件名:  JDataBase.java
     *功能用途:本单元所包含的类和函数实现对各类数据库的底层操作,包括连接数据
     * 表,执行SQL语句
     *创建人:  崔占民
     *创建日期:2004-8-9
     *修改人:
     *修改日期:
     *版权:崔占民
     *函数说明:
     */
    package JDataOpt;/**
     * @author Administrator
     *
     * To change the template for this generated type comment go to
     * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
     */
    import java.sql.*;
    import java.text.*;public class JDataBase
    {
    //private String [] m_strAryDbType = {"ORACLE", "SYBASE", "MSSQL", "MYSQL", "DB2", "ACCESS"}; //数据库类型常数数组
    //private int m_intDbType = 0; //数据库类型索引
    private String m_strDbClass; //数据库类名字符串
    private String m_strPassword; //密码
    private String m_strURL; //数据库连接URL
    private String m_strUser; //用户名
    private Connection sqlCon; //数据库连接
    private Statement sqlStmt; //选择对象

    //***************************************************
    //名称:JDataBase
    //功能:构造函数
    //输入:
    //输出:
    //返回:
    //***************************************************
    public JDataBase ()
    {

    }

    //***************************************************
    //名称:JDataBase
    //功能:构造函数
    //输入:aClass: 数据库类名
    //输出:
    //返回:
    //***************************************************
    public JDataBase (String aClass)
    {
    if (!setDbClass (aClass))
    {
    System.out.println ("错误: 建立数据库类错误!");
    }
    }

    //***************************************************
    //名称:ChangeCode
    //功能:转换指定字符串的字符集(字符编码)
    //输入:strSource: 要转换的字符串; strCodeFrom: 源字符集; strCodeTo: 目的字符集
    //输出:
    //返回:转换之后的字符串
    //***************************************************
    public String ChangeCode(String strSource, String strCodeFrom, String strCodeTo)
    {
    byte[] baTemp = null;
    try
    {
    baTemp = strSource.getBytes (strCodeFrom);
    strSource = new String (baTemp,strCodeTo);
    }
    catch (Exception e)
    {
    return (e.toString ());
    }

    return (strSource);
    }

    //***************************************************
    //名称:closeDb
    //功能:关闭数据库
    //输入:
    //输出:
    //返回:
    //***************************************************
    public void closeDb () throws Exception
    {
    sqlCon.close ();
    }

    //***************************************************
    //名称:conectDb
    //功能:连接数据库
    //输入:
    //输出:
    //返回:true: 连接成功; false: 连接失败
    //***************************************************
    public boolean connectDb ()
    {
    try
    {
    sqlCon = DriverManager.getConnection (m_strURL, m_strUser, m_strPassword);
    sqlStmt = sqlCon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    }
    catch (Exception e)
    {
    return (false);
    }

    return (true);
    }

    //***************************************************
    //名称:conectDb
    //功能:连接数据库
    //输入:aURL: 连接地址; aUser: 数据库用户; aPwd: 数据库密码
    //输出:
    //返回:true: 连接成功; false: 连接失败
    //***************************************************
    public boolean connectDb (String aURL, String aUser, String aPwd)
    {
    setURL (aURL);
    setUser (aUser);
    setPassword (aPwd);

    return (connectDb ());
    }

    //***************************************************
    //名称:dateToStr
    //功能:将指定的日期转换成字符串
    //输入:aDteValue: 要转换的日期; 
    // aFmtDate: 转换日期的格式, 默认为:"yyyy/MM/dd"
    //输出:
    //返回:转换之后的字符串
    //***************************************************
    public String dateToStr (java.util.Date aDteValue, String aFmtDate)
    {
    String strRtn = null; if (aFmtDate.length() == 0)
    {
    aFmtDate = "yyyy/MM/dd"; 
    }
    Format fmtDate = new SimpleDateFormat (aFmtDate);
    try
    {
    strRtn = fmtDate.format (aDteValue);
    }
    catch (Exception e)
    {

    }

    return (strRtn);
    }

    //***************************************************
    //名称:executeSQL
    //功能:执行没有返回结果集的SQL语句
    //输入:aStrSql: 要执行的SQL语句
    //输出:
    //返回:true: 执行成功; false: 执行失败
    //***************************************************
    public boolean executeSQL (String aStrSql)
    {
    String strSQL = ChangeCode (aStrSql, "8859_1", "cp850");
    try
    {
    sqlStmt.executeUpdate (aStrSql);
    sqlCon.commit ();
    }
    catch (Exception e)
    {
    return (false);
    }
    return (true);
    }

    //***************************************************
    //名称:getConnection
    //功能:取得数据库连接
    //输入:
    //输出:
    //返回:数据库连接
    //***************************************************
    public Connection getConnection ()
    {
    return sqlCon;
    }

    //***************************************************
    //名称:getDbClass
    //功能:取得数据库连接类名
    //输入:
    //输出:
    //返回:数据库连接类名
    //***************************************************
    public String getDbClass ()
    {
    return (m_strDbClass);
    }

      

  5.   

    //***************************************************
    //名称:getPassword
    //功能:取得数据库连接密码
    //输入:
    //输出:
    //返回:数据库连接密码
    //***************************************************
    public String getPassword ()
    {
    return (m_strPassword);
    }

    //***************************************************
    //名称:getURL
    //功能:取得数据库连接地址
    //输入:
    //输出:
    //返回:数据库连接地址
    //***************************************************
    public String getURL ()
    {
    return (m_strURL);
    }

    //***************************************************
    //名称:getUser
    //功能:取得数据连接用户名
    //输入:
    //输出:
    //返回:数据库连接用户名
    //***************************************************
    public String getUser ()
    {
    return (m_strUser);
    }

    //***************************************************
    //名称:isDate
    //功能:判断指定的字符串是否为有效的日期格式
    //输入:aStrValue: 要判断的字符串;
    //输出:
    //返回:true: 是正确的日期格式; false: 错误的日期格式
    //***************************************************
    public boolean isDate (String aStrValue, java.util.Date aDteValue)
    {
    aDteValue = null;
    SimpleDateFormat fmtDate = new SimpleDateFormat ("yyyy/MM/dd");
    try
    {
    aDteValue = fmtDate.parse (aStrValue);
    }
    catch (Exception e)
    {
    return (false);
    } return (true);
    }

    //***************************************************
    //名称:isInteger
    //功能:判断指定的字符串是否为有效的整数
    //输入:aStrValue: 要判断的字符串;
    //输出:
    //返回:true: 是正确的整数; false: 错误的整数
    //***************************************************
    public boolean isInteger (String aStrValue, int aIntValue)
    {
    try
    {
    aIntValue = Integer.parseInt (aStrValue);
    }
    catch (Exception e)
    {
    return (false);
    } return (true);
    }

    //***************************************************
    //名称:isLong
    //功能:判断指定的字符串是否为有效的长整数
    //输入:aStrValue: 要判断的字符串;
    //输出:
    //返回:true: 是正确的长整数; false: 错误的长整数
    //***************************************************
    public boolean isLong (String aStrValue, long aLngValue)
    {
    try
    {
    aLngValue = Long.parseLong (aStrValue);
    }
    catch (Exception e)
    {
    return (false);
    } return (true);
    }

    //***************************************************
    //名称:isNumeric
    //功能:判断指定的字符串是否为有效的浮点数
    //输入:aStrValue: 要判断的字符串;
    //输出:
    //返回:true: 是正确的浮点数; false: 错误的浮点数
    //***************************************************
    public boolean isNumeric (String aStrValue, double aDoubleValue)
    {
    try
    {
    aDoubleValue = Double.parseDouble (aStrValue);
    }
    catch (Exception e)
    {
    return (false);
    }
    return (true);
    }

    //***************************************************
    //名称:isNumeric
    //功能:判断指定的字符串是否为有效的浮点数
    //输入:aStrValue: 要判断的字符串;
    //输出:
    //返回:true: 是正确的浮点数; false: 错误的浮点数
    //***************************************************
    public boolean isNumeric (String aStrValue, float aFloatValue)
    {
    try
    {
    aFloatValue = Float.parseFloat (aStrValue);
    }
    catch (Exception e)
    {
    return (false);
    }

    return (true);
    }

    //***************************************************
    //名称:querySQL
    //功能:执行有返回结果集的SQL语句
    //输入:
    //输出:
    //返回:查询到的结果集
    //***************************************************
    public ResultSet querySQL (String aStrSql)
    {
    ResultSet sqlRst = null;

    String strSQL = ChangeCode (aStrSql, "8859_1", "cp850");
    try
    {
    sqlRst = sqlStmt.executeQuery (strSQL);
    }
    catch (Exception e)
    {
    return (null);
    }
    return (sqlRst);
    }

    //***************************************************
    //名称:setDbClass
    //功能:建立数据库类
    //输入:aClass: 数据库类名
    //输出:
    //返回:true: 建立成功, false: 建立失败
    //***************************************************
    public boolean setDbClass (String aClass)
    {
    try
    {
    m_strDbClass = aClass;
    Class.forName (m_strDbClass).newInstance ();
    }
    catch (Exception e)
    {
    return (false);
    }

    return (true);
    }

    //***************************************************
    //名称:setPassword
    //功能:设置数据库密码
    //输入:aURL: 数据库密码
    //输出:
    //返回:
    //***************************************************
    public void setPassword (String aPwd)
    {
    m_strPassword = aPwd;
    }

    //***************************************************
    //名称:setURL
    //功能:设置数据库连接地址
    //输入:aURL: 数据库连接地址
    //输出:
    //返回:
    //***************************************************
    public void setURL (String aURL)
    {
    m_strURL = aURL;
    }

    //***************************************************
    //名称:setUser
    //功能:设置数据库连接用户名
    //输入:aUser: 数据库连接用户名
    //输出:
    //返回:
    //***************************************************
    public void setUser (String aUser)
    {
    m_strUser = aUser;
    }

    //***************************************************
    //名称:strToDate
    //功能:将指定的字符串转换成日期
    //输入:aStrValue: 要转换的字符串; 
    // aFmtDate: 转换日期的格式, 默认为:"yyyy/MM/dd"
    //输出:
    //返回:转换之后的日期,如果给定的字符串不是有效的
    // 日期格式,则返回当前日期
    //***************************************************
    public java.util.Date strToDate (String aStrValue, String aFmtDate)
    {
    java.util.Date dteRtn = new java.util.Date ();

    if (aFmtDate.length() == 0)
    {
    aFmtDate = "yyyy/MM/dd"; 
    }
    SimpleDateFormat fmtDate = new SimpleDateFormat (aFmtDate);
    try
    {
    dteRtn = fmtDate.parse (aStrValue);
    }
    catch (Exception e)
    {

    }

    return (dteRtn);
    }
    }