邀月

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

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

          Posted on 2009-09-24 12:27 邀月 閱讀(1561) 評論(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");//數(shù)據(jù)庫實例名
                      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) {
                          }
                      }
                  }
              }

          }

          結(jié)果提示:找不到sqljdbc_auth.dll,到下載的壓縮包里看了下:auth\x86,auth\x64\,auth\IA64下都有該文件,直接復(fù)制auth\x86\sqljdbc_auth.dll到
          E:\Java\jdkUpdate\jre\lib\ext\下,這是本機的jre路徑。
          然后運行。成功!
          后來再試了下,發(fā)現(xiàn)直接用URL方式也可以實現(xiàn):
          代碼如下:
          Java
          如果是用戶名加密碼的URL方式,則不需要sqljdbc_auth.dll,簡單多了:
          Java
          調(diào)用:
          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);
          小結(jié):java的jdbc集成windows方式連接共有兩種方式:data source object和URL方式,分別見第一種和第二種。
          如果有任何問題,請聯(lián)系邀月。
          助人等于自助!   3w@live.cn

          邀月注:本文版權(quán)由邀月和博客園(BlogJava)共同所有,轉(zhuǎn)載請注明出處。
          助人等于自助!   3w@live.cn
          主站蜘蛛池模板: 毕节市| 米泉市| 苍溪县| 登封市| 文登市| 金乡县| 溧阳市| 安顺市| 清苑县| 新密市| 昭平县| 柞水县| 阿勒泰市| 墨竹工卡县| 栖霞市| 西林县| 南江县| 新龙县| 宁乡县| 秭归县| 阿鲁科尔沁旗| 故城县| 彝良县| 开远市| 辉县市| 鹿泉市| 中江县| 昌乐县| 道真| 海口市| 兴隆县| 潮安县| 祁连县| 晋江市| 乌兰察布市| 邳州市| 郴州市| 当雄县| 黎平县| 锡林浩特市| 贵港市|