隨筆-199  評論-203  文章-11  trackbacks-0
          由于業(yè)務(wù)邏輯的多樣性
          經(jīng)常得在sql server中查詢不同數(shù)據(jù)庫中數(shù)據(jù)
          這就產(chǎn)生了分布式查詢的需求

          現(xiàn)我將開發(fā)中遇到的幾種查詢總結(jié)如下:


          1.access版本

          --建立連接服務(wù)器
          EXEC sp_addlinkedserver
          --要創(chuàng)建的鏈接服務(wù)器名稱 
          'ai',            
          --產(chǎn)品名稱              
          'access',    
          --OLE DB 字符
          'Microsoft.Jet.OLEDB.4.0', 
          --數(shù)據(jù)源
          --格式:
          -- 盤符:\路徑\文件名
          -- \\網(wǎng)絡(luò)名\共享名\文件名  (網(wǎng)絡(luò)版本)
          'd:\testdb\db.mdb'
          GO


          --創(chuàng)建鏈接服務(wù)器上遠程登錄之間的映射
          --鏈接服務(wù)器默認設(shè)置為用登陸的上下文進行
          --現(xiàn)在我們修改為連接鏈接服務(wù)器不需使用任何登錄或密碼
          exec sp_addlinkedsrvlogin 'ai','false'
          go


          --查詢數(shù)據(jù)
          select * from ai...mytable
          go

           

          2.excel版本

          --建立連接服務(wù)器
          EXEC sp_addlinkedserver
          --要創(chuàng)建的鏈接服務(wù)器名稱 
          'ai_ex',            
          --產(chǎn)品名稱              
          'ex',    
          --OLE DB 字符
          'Microsoft.Jet.OLEDB.4.0', 
          --數(shù)據(jù)源
          --格式:
          -- 盤符:\路徑\文件名
          -- \\網(wǎng)絡(luò)名\共享名\文件名  (網(wǎng)絡(luò)版本)
          'd:\testdb\mybook.xls' ,
          null,
          --OLE DB 提供程序特定的連接字符串
          'Excel 5.0'
          GO


          ----創(chuàng)建鏈接服務(wù)器上遠程登錄之間的映射
          --鏈接服務(wù)器默認設(shè)置為用登陸的上下文進行
          --現(xiàn)在我們修改為連接鏈接服務(wù)器不需使用任何登錄或密碼
          exec sp_addlinkedsrvlogin 'ai_ex','false'
          go


          --查詢數(shù)據(jù)
          select * from ai_ex...sheet3$
          go


          3.ms sql版本

          --建立連接服務(wù)器
          EXEC sp_addlinkedserver
          --要創(chuàng)建的鏈接服務(wù)器名稱 
          'ai_mssql',            
          --產(chǎn)品名稱              
          'ms',    
          --OLE DB 字符
          'SQLOLEDB', 
          --數(shù)據(jù)源
          '218.204.111.111,3342'
          GO


          --創(chuàng)建鏈接服務(wù)器上遠程登錄之間的映射
          EXEC sp_addlinkedsrvlogin
          'ai_mssql',
          'false',
          NULL,
          --遠程服務(wù)器的登陸用戶名
          'zhangzhe',
          --遠程服務(wù)器的登陸密碼
          'fish2231'
          go


          --查詢數(shù)據(jù)
          select * from ai_mssql.pubs.dbo.jobs
          go


          --還有一個更簡單的辦法
          --這種方式在鏈接服務(wù)器建立后,它是默認開放RPC的

          --建立連接服務(wù)器
          EXEC sp_addlinkedserver
          --要創(chuàng)建的鏈接服務(wù)器名稱
          --這里就用數(shù)據(jù)源作名稱
          '218.204.111.111,3342',
          'SQL Server'
          GO


          --創(chuàng)建鏈接服務(wù)器上遠程登錄之間的映射
          EXEC sp_addlinkedsrvlogin
          '218.204.111.111,3342',
          'false',
          NULL,
          --遠程服務(wù)器的登陸用戶名
          'zhangzhe',
          --遠程服務(wù)器的登陸密碼
          'fish2231'
          go


          --查詢數(shù)據(jù)
          select * from [218.204.253.131,3342].pubs.dbo.jobs
          go

           

          4.Oracle版本

          --建立連接服務(wù)器
          EXEC sp_addlinkedserver
          --要創(chuàng)建的鏈接服務(wù)器名稱 
          'o',
          --產(chǎn)品名稱              
          'Oracle',
          --OLE DB 字符
          'MSDAORA',
          --數(shù)據(jù)源
          'acc'
          GO


          --創(chuàng)建鏈接服務(wù)器上遠程登錄之間的映射
          EXEC sp_addlinkedsrvlogin
          'o',
          'false',
          NULL,
          --Oracle服務(wù)器的登陸用戶名
          'F02M185',
          --Oracle服務(wù)器的登陸密碼
          'f02m185185'
          go

          --查詢數(shù)據(jù)
          --格式:LinkServer..Oracle用戶名.表名
          --注意用大寫,因為在Oracle的數(shù)據(jù)字典中為大寫
          select * from o..F02M185.AI
          go

           

          希望上面提到的知識對你有所提示
          當然歡迎交流和指正

          posted on 2009-03-23 15:43 Werther 閱讀(304) 評論(0)  編輯  收藏 所屬分類: 15.SQL Server
          主站蜘蛛池模板: 新河县| 简阳市| 曲沃县| 邵武市| 诸城市| 东台市| 临西县| 五莲县| 囊谦县| 宜春市| 辉县市| 阆中市| 沐川县| 拉萨市| 县级市| 称多县| 东兴市| 江门市| 巴东县| 淮北市| 普陀区| 滦平县| 泾源县| 南宁市| 汪清县| 民勤县| 新化县| 商都县| 梓潼县| 如东县| 新乡市| 合阳县| 宁安市| 万州区| 兰州市| 朝阳县| 栾川县| 潮州市| 湘乡市| 廉江市| 天门市|