Java 连接 MS sql Server 2005

  大概过程都如Anna Yang 在 http://www.cnblogs.com/yangfengming/archive/2009/06/15/1503386.html

  所述 ,这就不重复写了, 把他的 贴过来直接,..后面 补充几个常见问题. 希望对初学者有所帮助..别还没入门就已经撞死在门槛上..

 --------------------------------------------------------------------------------------------------------------------

Java链接数据库SQL Server2005步骤:

1.到微软官方网站下载2005的jdbc并解压,获得文件sqljdbc.jar。本人使用的是sqljdbc_1.2,解压后即为该文件。

sql jdbc 1.2下载地址: http://download.microsoft.com/download/5/0/2/502F6CBE-66DA-4F76-BD9A-556D1A4A596D/sqljdbc_1.2.2828.100_chs.exe

2.将sqljdbc.jar拷贝到C:\Program Files\Java\jre1.5.0_08\lib\ext路径下(Java虚拟机的默认安装路径)。

3.在环境变量classpath后面添加C:\Program Files\Java\jre1.5.0_08\lib\ext\sqljdbc.jar(即sqljdbc.jar所在的位置,也可以是sqljdbc.jar所在的其他路径)。

4.将下载后的sqljdbc_1.2里面的sqljdbc_auth.dll文件拷贝到C:\WINDOWS\system32下面。

5.在sqlServer2005数据库添加用户名(在“安全性”里面),并授予登录权限,和访问数据库的权限。

6.开始-〉程序-〉sql  server  2005-〉配置工具-〉SQL Server Configuration Manager。启动sql  2005服务。点击  sql  server2005网络配置节点,并选    中”MSSQLserver的协议“节点。启用tcp/ip协议。

7.双击TCP/IP,在弹出的对话框中选择"IP地址"。找到IPAll(最下面的一个),里面的"IP动态端口"后面的数字即为你要是有的端口号,本人的是1028.

8.将sqljdbc.jar导入到要链接数据库SQL2005的项目中:单击该项目“右键”,选择"Build Path",然后选择“Configure Build Path”,在弹出的对话框中选择“Libraries”,点击“Add External JARs”选项,在弹出的对话框中选择sqljdbc.jar所在的路径,本文为:C:\Program Files\Java\jre1.5.0_08\lib\ext。即将sqljdbc.jar添加入项目中了。

9.载入sql  server  2005 jdbc驱动程序,代码片断如下:

            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

10.设置连接字符串,并根据连接串获取到数据库的连接。代码片断如下:

        String dbUrl="jdbc:sqlserver://localhost:1028;Database=db_JXC";
        Connection  ConnObj=DriverManager.getConnection(dbUrl,"yfm","数据库登录密码");//用SQL身份登录

    或:

         String dbUrl="jdbc:sqlserver://localhost:1028;Database=db_JXC;integratedSecurity=true;"; //用widows身份登录
        Connection   ConnObj=DriverManager.getConnection(dbUrl);

11.根据所获取的连接设置sql语句对象的属性。代码片断如下:

     Statement  SQLStatement=ConnObj.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
 12.准备要执行的sql语句字符串。并把该字符串传给sql语句对象。执行结果保存在一个结果集中。
     ResultSet  RS=SQLStatement.executeQuery("SELECT * FROM BookData");

13.遍历结果集合,并获取用户需要的信息。
      if(RS.next())
  {
      T1.setText(RS.getString("ISBN"));
      T1.setText(RS.getString("BookName"));
      T1.setText(RS.getString("Author"));
      T1.setText(String.valueOf(RS.getString("Price")));
  }
   else

   JOptionPane.showMessageDialog(this, "myBook数据库内,无任何数据");   

-----------------------------------------------------------------------------------------



常见 问题补充:

      1.出现 "jdk版本问题->" eg: 提示说 要用 适合 sqljdbc4.jar 的jdk1.6,

 解决办法:将jdk调整到 1.4 在编译就 ok;

       或者

使用 sqljdbc.jar, 将sqljdbc4.jar删除;

      2.sqlserver 版本问题 :一般出现在 下载的别人的代码中使用的是2000本版的, 将数据库连接类类修改下;

也就是修改:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 此条语句;核对驱动器的包名次序是否正确;搞定.

       

      3.出现 类似于 没有找到 sql 服务器的 可能是 没有开启 sql 服务 或者是 连接字符 中的 服务器名 出错.

      4.connect refused 错误 一般是 数据库用户 未启用 . 或者是 tcp/ip连接服务 未启用. 另外 还有就是端口问题.解决方法见上面 6--7 点.


      5.上面所讲的 第四点 或多余.;(假如你不是用windows 身份验证方式连接数据库的话).....

      由于上面都是 凭经验 记忆 所写的..可能问题描述有偏差. 请见谅.  有问题请留言--附上异常信息--> 

    -----------今天的计划完成.!! 收工!

      

        O(∩_∩)O~  

      

         O了!! 

原文地址:https://www.cnblogs.com/ToDoToTry/p/1505769.html