熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

SQLSERVER與ACCESSEXCEL的數據轉換

2013-11-15 14:36:36  來源: SQL Server 

  熟悉SQL SERVER 的數據庫管理員都知道其DTS可以進行數據的導入導出其實我們也可以使用TransactSQL語句進行導入導出操作在TransactSQL語句中我們主要使用OpenDataSource函數OPENROWSET 函數關於函數的詳細說明請參考SQL聯機幫助利用下述方法可以十分容易地實現SQL SERVERACCESSEXCEL數據轉換詳細說明如下
  
   SQL SERVER 和ACCESS的數據導入導出
  常規的數據導入導出
  
  使用DTS向導遷移你的Access數據到SQL Server你可以使用這些步驟:
  
   在SQL SERVER企業管理器中的Tools(工具)菜單上選擇Data Transformation
  
   Services(數據轉換服務)然後選擇 czdImport Data(導入數據)
  
   在Choose a Data Source(選擇數據源)對話框中選擇Microsoft Access as the Source然後鍵入你的mdb數據庫(mdb文件擴展名)的文件名或通過浏覽尋找該文件
  
   在Choose a Destination(選擇目標)對話框中選擇Microsoft OLE DB Prov ider for SQL Server選擇數據庫服務器然後單擊必要的驗證方式
  
   在Specify Table Copy(指定表格復制)或Query(查詢)對話框中單擊Copy tables(復制表格)
  
   在Select Source Tables(選擇源表格)對話框中單擊Select All(全部選定)下一步完成
  
  TransactSQL語句進行導入導出
  
   在SQL SERVER裡查詢access數據:
  
  SELECT *
  
  FROM OpenDataSource( MicrosoftJetOLEDB
  
  Data Source=c:\DBmdb;User ID=Admin;Password=)表名
  
   將access導入SQL server
  
  在SQL SERVER 裡運行:
  
  SELECT *
  
  INTO newtable
  
  FROM OPENDATASOURCE (MicrosoftJetOLEDB
  
  Data Source=c:\DBmdb;User ID=Admin;Password= )表名
  
   將SQL SERVER表裡的數據插入到Access表中
  
  在SQL SERVER 裡運行
  
  insert into OpenDataSource( MicrosoftJetOLEDB
  
  Data Source= c:\DBmdb;User ID=Admin;Password=)表名
  
  (列名列名)
  
  select 列名列名 from sql表
  
  實例
  
  insert into OPENROWSET(MicrosoftJetOLEDB
  
  C:\dbmdb;admin; Test)
  
  select idname from Test
  
  INSERT INTO OPENROWSET(MicrosoftJetOLEDB c:\trademdb; admin; 表名)
  
  SELECT *
  
  FROM sqltablename
  
   SQL SERVER 和EXCEL的數據導入導出
  在SQL SERVER裡查詢Excel數據:
  
  SELECT *
  
  FROM OpenDataSource( MicrosoftJetOLEDB
  
  Data Source=c:\bookxls;User ID=Admin;Password=;Extended properties=Excel )[Sheet$]
  
  
  下面是個查詢的示例它通過用於 Jet 的 OLE DB 提供程序查詢 Excel 電子表格
  
  SELECT *
  FROM OpenDataSource ( MicrosoftJetOLEDB
  Data Source=c:\Finance\accountxls;User ID=Admin;Password=;Extended properties=Excel )xactions
  
  將Excel的數據導入SQL server :
  
  SELECT * into newtable
  
  FROM OpenDataSource( MicrosoftJetOLEDB
  
  Data Source=c:\bookxls;User ID=Admin;Password=;Extended properties=Excel )[Sheet$]
  
  
  實例:
  
  SELECT * into newtable
  
  FROM OpenDataSource( MicrosoftJetOLEDB
  
  Data Source=c:\Finance\accountxls;User ID=Admin;Password=;Extended properties=Excel )xactions
  
  將SQL SERVER中查詢到的數據導成一個Excel文件
  
  TSQL代碼
  
  EXEC masterxp_cmdshell bcp 庫名dbo表名out c:\Tempxls c q Sservername Usa P
  
  參數S 是SQL服務器名U是用戶P是密碼
  
  說明還可以導出文本文件等多種格式
  
  實例:EXEC masterxp_cmdshell bcp saletesttmpdboCusAccount out c:\tempxls c q Spmserver Usa Psa
  
  EXEC masterxp_cmdshell bcp SELECT au_fname au_lname FROM pubsauthors ORDER BY au_lname queryout C:\ authorsxls c Sservername Usa Ppassword
  
  在VB中應用ADO導出EXCEL文件代碼
  
  Dim cn As New ADODBConnection
  
  cnopen Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=;
  
  cnexecute masterxp_cmdshell bcp SELECT col col FROM 庫名dbo表名 queryout E:\DTxls c Sservername Usa Ppassword
  
  在SQL SERVER裡往Excel插入數據:
  
  insert into OpenDataSource( MicrosoftJetOLEDB
  
  Data Source=c:\Tempxls;User ID=Admin;Password=;Extended properties=Excel )table (AAA) values ()
  
  TSQL代碼
  
  INSERT INTO
  
  OPENDATASOURCE(MicrosoftJETOLEDB
  
  Extended Properties=Excel ;Data source=C:\training\inventurxls)[Filiale$]
  
  (bestand produkt) VALUES ( Test)
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22059.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.