JBuilder2006用JDBC连接SQL Server数据库

 

JBuilder2006用JDBC连接SQL Server数据库(ZT)

2006-6-18 19:37:00

回复人: skyws

前提:1.sql server 2000 任意版本    //本人用的是个人版

2.sql server 2000 sp3升级包

3.sql server 2000 jdbc 驱动  //这个就需要自己找了!
      4.jdk1.4                      //以下的例子是该版本
在以上条件满足的情况下,作以下事情
      1.建立新数据库名为:TESTDB ,并在其中建立一个名为test_student的表
          包括以下几列(Sno,Sname,Sage,Ssex,Sclass)  
      2.开始编写你自己的连接数据库的类(我这里是借鉴他人的版权不归我所有),你也可以用自己的方法 
class Testj{
    public static void main(String args[])
    {  
        String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TESTDB";
        String user ="king";//这里替换成你自已的数据库用户名
        String password = "sql";//这里替换成你自已的数据库用户密码
        String sqlStr = "select * from test_student";

        try{    //这里的异常处理语句是必需的.否则不能通过编译!    
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            System.out.println( "类实例化成功!" );
            System.out.println("slkdjf");
            Connection con = DriverManager.getConnection(RL,user,password);
            System.out.println( "创建连接对像成功!" );

            Statement st = con.createStatement();
            System.out.println( "创建Statement成功!" );

            ResultSet rs = st.executeQuery( sqlStr );
            System.out.println( "操作数据表成功!" );
            System.out.println( "----------------!" );

            while(rs.next())
            {
                System.out.print(rs.getInt("Sno") + "    ");
                System.out.print(rs.getString("Sname") + "    ");
                System.out.print(rs.getInt("Sage") + "    ");
                System.out.print(rs.getString("Ssex") + "    ");
                System.out.println(rs.getString("Sclass"));
            }
            rs.close();
            st.close();
            con.close();
        }
        catch(Exception err){
            err.printStackTrace(System.out);
        }
    }
}
下面进行调试:
  javac Testj.java
  java Testj
  如果正确输出应该是:
  类实例化成功!
slkdjf
创建连接对像成功!
创建Statement成功!
操作数据表成功!
----------------!
2000    小刚               21    男    12        
2001    小黄               22    女    12        
2002    李娜               20    女    11        
2003    王芳               19    女    null
2004    黄明               22    男    11        
2005    梅兰               21    女    12        
2006    李玉               22    女    15        
2007    李平               32    女    12        

注意:这里有几点要说明
1.路径问题:
  你必须配置你的classpath路径否则他在编译时会抱错
  java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)
        at Test.main(Test.java:11) 
你的路径应该是这样配置:你可以在在安装jdbc驱动后看那里的帮助文档(是英文的);
//这里指在xp系统下
 classpath = ,;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
              C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
              C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
  可千万不要写错哟!
 2.sp3补丁包问题:
    如果你在编译时出现下列问题 那么你需要***并安装sp3补丁包
   java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
        at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
        at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
        at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
        at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
        at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at Test.main(Test.java:14) 
3.权限问题    
   如果你出现类似这样的问题
   类实例化成功!
slkdjf
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'king' 登录失败。
原因: 未与信任 SQL Server 连接相关联。
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at Testj.main(Testj.java:14)
    
原困是未设置SQL SERVER登录认证模式为混合认证模式,因为SQL SERVER默认安装后认证模式为WINDOWS认证模式,从而导致出错。
解决方法:启动SQLSERVER企业管理器,选择要进行认证模式设置的服务器。右击该服务器,在弹出菜单中选择属性,SQL SERVER将
弹出属性对话框在属性对话框中选择安全性选项,在身份验证处选择“SQL Server和Windows”,然后确定。

2006-02-17 13:37:36
回复人: datacodecat
 private static final String url =//"jdbc:odbc:shopdem";

      "jdbc:microsoft:sqlserver://192.168.1.32:1433;DatabaseName=xzsp";
  // "jdbc:jtds:sqlserver://localhost:1080;DatabaseName=koyotest";
  //"jdbc:oracle:thin:@192.168.0.250:1521:orac";
//    "jdbc:oracle:thin:@192.168.167.27:1521:ora";
  private static final String driver =// "sun.jdbc.odbc.JdbcodbcDriver";
      // "sun.jdbc.odbc.JdbcOdbcDriver";
  // "net.sourceforge.jtds.jdbc.Driver";
      "com.microsoft.jdbc.sqlserver.SQLServerDriver";
 //"oracle.jdbc.driver.OracleDriver";
  private static final String username = "sa";//"sa";//"xzsp";
  private static final String password = "";//"ora";xzsp

Class.forName(driver).newInstance();
        Connection conn = DriverManager.getConnection(url, username, password);
另外。强烈建议你使用jtds来做sqlserver的驱动。具体连接方法上面的代码有了。还有其他数据库的连接和驱动类的写法。
2006-02-17 15:58:59
回复人: zhuozi_467
安装好jdbc后,假如目录在C:\Program   Files\Microsoft   SQL   Server   2000   JDBC,

1.打开Jbuilder,选择Tools-->Configure   Libraries,然后在左边的列表框下选择New,填入:
Name:sql,
Location:User   Home,

然后点击Add,加入目录C:\Program   Files\Microsoft   SQL   Server   2000   JDBC\lib,确定

三、Project-->Prject   Properties-->Paths-->Required   Libraries-->Add
    加入刚才添加的User   Home/sql确定

四、Tools-->Enterprise   Setup-->Database   Drivers-->Add,加入User   Home/sql,添加之后在列表框中显示的是sql.config,确定,        
重新启动JBuilder
五、Tools-->Database   Pilot-->View-->Options-->Drivers-->Add
填入
Driver   class:com.microsoft.jdbc.sqlserver.SQLServerDriver
Simple   URL:microsoft:sqlserver://localhost:1433;DatabaseName=mybase
确定之后,Tools-->Database   Pilot-->New的Driver里选择
com.microsoft.jdbc.sqlserver.SQLServerDriver
在URL里填入:
microsoft:sqlserver://服务器Ip地址或***名:1433;DatabaseName=数据库名,确定!
双击或点击+号输入sql数据库的用户名和密码,就完成了JB与sql的连接!
2006-02-17 16:08:31
回复人: zhuozi_467
先到这个网站上***一个SQL Server2000 Driver for JDBC的安装包:
http://msdn.microsoft.com/data/jdbc/

安装完按上面步骤即可连接.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值