邀月

          從.net中走來的Java愛好者
          posts - 22, comments - 10, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java中如何以windows集成方式連接SQL Server

          Posted on 2009-09-24 12:27 邀月 閱讀(1555) 評論(0)  編輯  收藏 所屬分類: EclipseNetBeans

          在《JDBC Driver For SQL2000/2005/2008》一文中,邀月介紹了如何下載并使用jdbc連接SQL Server,
          今天有人問起,如何以windows集成方式連接SQL Server,這個以前真沒試過。
          于是,打開netBeans測試了一下,代碼如下:
          /*
           * To change this template, choose Tools | Templates
           * and open the template in the editor.
           
          */

          package testsqlconn;
          import java.sql.*;
          import com.microsoft.sqlserver.jdbc.*;
          /** *//**
           *
           * 
          @author: Administrator:downmoon(3w@live.cn)
           * @date:2009-9-23 18:42:32
           * @Encoding:UTF-8
           * @File:TestSqlbyDS/TestSqlbyDS.java
           * @Package:testsqlconn
           
          */
          public class TestSqlbyDS {
              
          public TestSqlbyDS(){}
              
          public void GetResutls()
              {
               
          // Declare the JDBC objects.
                  Connection con = null;
                  CallableStatement cstmt 
          = null;
                  ResultSet rs 
          = null;

                  
          try {
                      
          // Establish the connection.
                      SQLServerDataSource ds = new SQLServerDataSource();
                      ds.setIntegratedSecurity(
          true);
                      ds.setServerName(
          "ap4\\agronet08");//數據庫實例名
                      ds.setPortNumber(1433);
                      ds.setDatabaseName(
          "AdventureWorksLT2008");//Database Name
                      con = ds.getConnection();

                      
          // Execute a SQL that returns some data.
                      
          //cstmt = con.prepareCall("{call dbo.uspGetEmployeeManagers(?)}");
                      
          //cstmt.setInt(1,50);
                      cstmt = con.prepareCall(" select top 10 * from [SalesLT].[Product] ");//Sql

                      rs 
          = cstmt.executeQuery();

                      
          // Iterate through the data in the result set and display it.
                      while (rs.next()) {
                          System.out.println(
          "Product: " + rs.getString("Name"+ "" + rs.getString("ProductNumber"));
                          System.out.println(
          "ListPrice: " + rs.getString("ListPrice"));
                          System.out.println();
                      }
                  } 
          // Handle any errors that may have occurred.
                  catch (Exception e) {
                      e.printStackTrace();
                  } 
          finally {
                      
          if (rs != null) {
                          
          try {
                              rs.close();
                          } 
          catch (Exception e) {
                          }
                      }
                      
          if (cstmt != null) {
                          
          try {
                              cstmt.close();
                          } 
          catch (Exception e) {
                          }
                      }
                      
          if (con != null) {
                          
          try {
                              con.close();
                          } 
          catch (Exception e) {
                          }
                      }
                  }
              }

          }

          結果提示:找不到sqljdbc_auth.dll,到下載的壓縮包里看了下:auth\x86,auth\x64\,auth\IA64下都有該文件,直接復制auth\x86\sqljdbc_auth.dll到
          E:\Java\jdkUpdate\jre\lib\ext\下,這是本機的jre路徑。
          然后運行。成功!
          后來再試了下,發現直接用URL方式也可以實現:
          代碼如下:
          Java
          如果是用戶名加密碼的URL方式,則不需要sqljdbc_auth.dll,簡單多了:
          Java
          調用:
          TestSqlUserPwdURL test3=new TestSqlUserPwdURL();
                 String sql
          ="SELECT top 10  ProductID,[Name],ProductNumber,Modifieddate FROM  [SalesLT].[Product] ";
                 test3.ShowProduct(
          "192.168.30.99\\agronet08""AdventureWorksLT2008""sa""sa"1433, sql);
          小結:java的jdbc集成windows方式連接共有兩種方式:data source object和URL方式,分別見第一種和第二種。
          如果有任何問題,請聯系邀月。
          助人等于自助!   3w@live.cn

          邀月注:本文版權由邀月和博客園(BlogJava)共同所有,轉載請注明出處。
          助人等于自助!   3w@live.cn
          主站蜘蛛池模板: 织金县| 西贡区| 安塞县| 岱山县| 北安市| 通江县| 图们市| 乐东| 青州市| 乃东县| 隆子县| 永寿县| 枣强县| 汽车| 沙河市| 兴安盟| 霍州市| 龙井市| 横山县| 醴陵市| 襄城县| 光山县| 江都市| 斗六市| 高要市| 肇东市| 加查县| 舒城县| 英吉沙县| 湘乡市| 奎屯市| 安丘市| 镇巴县| 新巴尔虎右旗| 法库县| 武冈市| 紫金县| 乐昌市| 英德市| 辉县市| 巴塘县|