日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

sql server 數(shù)據(jù)的導(dǎo)入導(dǎo)出命令

 cqxujun 2010-08-26
sql server 數(shù)據(jù)的導(dǎo)入導(dǎo)出命令
一、將.dbf(foxpro數(shù)據(jù)文件)導(dǎo)入到sql server中:
-------------如果接受導(dǎo)入數(shù)據(jù)的SQL表不存在,導(dǎo)入時創(chuàng)建
   select   *   into   要生成的SQL表名   from   openrowset('MSDASQL','Driver=Microsoft   Visual   FoxPro   Driver;SourceType=DBF;SourceDB=c:\','select   *   from   dbf表名.DBF')
實例:
--導(dǎo)入mdf數(shù)據(jù)文件
select * into t_tdd from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\我的文檔\桌面\寧夏第一次數(shù)據(jù)','select * from [t_tdd.DBF]')
在執(zhí)行命令前,要下載了一個microsoft ole db provider for visual foxpro安裝,可以了。
在使用該命令時,有時會出現(xiàn)如下錯誤提示:
   SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此組件已作為此服務(wù)器安全配置的一部分而被關(guān)閉。系統(tǒng)管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關(guān)啟用 'Ad Hoc Distributed Queries' 的詳細信息,請參閱 SQL Server 聯(lián)機叢書中的 "外圍應(yīng)用配置器"。
查詢相關(guān)資料,找到解決方法:
    啟用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
    使用完成后,關(guān)閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
--如果接受導(dǎo)入數(shù)據(jù)的SQL表已經(jīng)存在
Insert Into 已經(jīng)存在的SQL表名 Select * From openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:','select * from aa.DBF')

最快的方法,用SQLServer連接DBF
在SQLServer中執(zhí)行
SELECT * into bmk
FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
’Data Source=”e:\share”;User ID=Admin;Password=;Extended properties=dBase 5.0’)...bmk
這樣就可以把e:\share中的bmk.dbf表導(dǎo)入到Sqlserver中,
速度是最快的
注:OPENDATASOURCE 和openrowset不接受參數(shù)變量。
二、SQL SERVER 和EXCEL的數(shù)據(jù)導(dǎo)入導(dǎo)出
 
1、在SQL SERVER里查詢Excel數(shù)據(jù):
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...
[Sheet1$]
 
下面是個查詢的示例,它通過用于 Jet 的 OLE DB 提供程序查詢 Excel 電子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel
5.0')...xactions

2、將Excel的數(shù)據(jù)導(dǎo)入SQL server :
-- ======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...
[Sheet1$]
 
實例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel
5.0')...xactions

3、將SQL SERVER中查詢到的數(shù)據(jù)導(dǎo)成一個Excel文件
-- ======================================================
T-SQL代碼:
EXEC master..xp_cmdshell 'bcp 庫名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
參數(shù):S 是SQL服務(wù)器名;U是用戶;P是密碼
說明:還可以導(dǎo)出文本文件等多種格式
 
實例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -
S"pmserver" -U"sa" -P"sa"'
 
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY
au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
4、在SQL SERVER里往Excel插入數(shù)據(jù):
-- ======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1
(A1,A2,A3) values (1,2,3)
 
T-SQL代碼:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
SELECT * INTO excelimport FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=F:\班級與教學(xué)資料\05網(wǎng)一班資料\test.xls', 'SELECT * FROM [Sheet1$]')
三、SQL SERVER 和ACCESS的數(shù)據(jù)導(dǎo)入導(dǎo)出
常規(guī)的數(shù)據(jù)導(dǎo)入導(dǎo)出:
使用DTS向?qū)нw移你的Access數(shù)據(jù)到SQL Server,你可以使用這些步驟:
  1在SQL SERVER企業(yè)管理器中的Tools(工具)菜單上,選擇Data Transformation
  2Services(數(shù)據(jù)轉(zhuǎn)換服務(wù)),然后選擇 czdImport Data(導(dǎo)入數(shù)據(jù))。
  3在Choose a Data Source(選擇數(shù)據(jù)源)對話框中選擇Microsoft Access as the Source,然后鍵
入你的.mdb數(shù)據(jù)庫(.mdb文件擴展名)的文件名或通過瀏覽尋找該文件。
  4在Choose a Destination(選擇目標(biāo))對話框中,選擇Microsoft OLE DB Prov ider for SQL 
Server,選擇數(shù)據(jù)庫服務(wù)器,然后單擊必要的驗證方式。
  5在Specify Table Copy(指定表格復(fù)制)或Query(查詢)對話框中,單擊Copy tables(復(fù)制表格
)。
6在Select Source Tables(選擇源表格)對話框中,單擊Select All(全部選定)。下一步,完成。
 
Transact-SQL語句進行導(dǎo)入導(dǎo)出:
1. 在SQL SERVER里查詢access數(shù)據(jù):
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名
2.將access導(dǎo)入SQL server
-- ======================================================
在SQL SERVER 里運行:
SELECT *
INTO newtable
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名

3. 將SQL SERVER表里的數(shù)據(jù)插入到Access表中
-- ======================================================
在SQL SERVER 里運行:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名
(列名1,列名2)
select 列名1,列名2 from sql表
 
實例:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\db.mdb';'admin';'', Test)
select id,name from Test
  說明:
          其中我是想把我的sqlserver  test 表數(shù)據(jù)導(dǎo)入到access 數(shù)據(jù)庫c:\db.mdb中test表中,access數(shù)據(jù)庫中的表Test表必須先存在。測試成功.
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
SELECT *
FROM sqltablename
總結(jié):利用以上語句,我們可以方便地將SQL SERVER、ACCESS和EXCEL電子表格軟件中的數(shù)據(jù)進行轉(zhuǎn)換,為我們提供了極大方便!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多