国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
常見SQL Server導(dǎo)入導(dǎo)出數(shù)據(jù)的幾個工具

在我們的日常工作中,與數(shù)據(jù)庫打交道的機會越來越多。這一篇文章我整理一下常見的SQL Server導(dǎo)入導(dǎo)出數(shù)據(jù)的幾個工具

 

1. 數(shù)據(jù)導(dǎo)入導(dǎo)出向?qū)?/h1>

這是一個可視化的工具,我放在首位,是由于它可以極大靈活地滿足導(dǎo)入導(dǎo)出功能,而且是所見即所得的,易于使用。

啟動數(shù)據(jù)導(dǎo)入導(dǎo)出向?qū)У姆绞接泻枚喾N,我自己習(xí)慣直接通過如下的命令啟動(開始=》運行)

dtswizard(顧名思義,它是一個wizard——向?qū)?,而且是與dts——data transfomation service有關(guān)的)

從下圖可以看出,這個工具支持多種不同類型的數(shù)據(jù)源(以及數(shù)據(jù)目標(biāo)),它其實不僅僅限于SQL Server服務(wù)器。

【注意】如果是64位,這里的提供程序中找不到Excel和Access(我知道很多朋友都想導(dǎo)出這兩種格式)

 

該向?qū)н€可以通過在SQL Server Management Studio(SSMS)中啟動。如果數(shù)據(jù)源或者數(shù)據(jù)目標(biāo)是SQL Server的話,這是更加方便一些的。

【注意】通過這樣的方式啟動的向?qū)?,卻又可以看到Excel和Access(很神奇吧,

值得一提的是,這個導(dǎo)入導(dǎo)出向?qū)н€有一個好處,就是將我們經(jīng)常需要導(dǎo)入導(dǎo)出的操作保存起來,如下圖所示

這里有一個所謂的SSIS Package,是什么意思呢?SSIS指的是SQL Server Integration Service,它是微軟SQL Server BI平臺的一個重要組件,用來設(shè)計和管理ETL解決方案。

這個SSIS Package是一個擴展名為dtsx的特殊文件包,它可以通過一個所謂的Business Intelligence Developement Studio(BI Studio)打開查看,并且還可以進一步地編輯

【備注】SSIS的討論已經(jīng)超出了本篇文章的范圍。如有興趣,請搜索我其他的文章。

 

 

2.BCP

如果你要實現(xiàn)簡單的數(shù)據(jù)導(dǎo)入導(dǎo)出,并且希望用腳本命令的方式,而不是圖形界面來實現(xiàn)。那么可以考慮SQL Server提供的BCP實用工具。

上圖演示了如何將一個表導(dǎo)出為Excel文件,但如果想要根據(jù)一個查詢導(dǎo)出的話,則可以按照下面這樣的語法

使用BCP也可以進行數(shù)據(jù),只要將out改成In即可。

【注意】使用bcp導(dǎo)出數(shù)據(jù)最大一個問題就是沒有標(biāo)題行

 

3. Bulk Insert和OpenRowSet

如果想在T-SQL中直接導(dǎo)入Excel文件的數(shù)據(jù),或者TXT文件的數(shù)據(jù),則可以了解一下如下兩個特殊的T-SQL語法

BulkInsert的語法大致如下

OpenRowSet的語法大致如下

 

【備注】關(guān)于這兩個語句的詳細(xì)用法,請參考SQL Server自帶的聯(lián)機叢書。

 

4.FORXML和OPENXML

如果想要導(dǎo)出導(dǎo)入XML格式的數(shù)據(jù),則可以了解一下FORXML和OPENXML語法(它們是T-SQL語法,所以也可以很靈活地嵌入在我們的存儲過程中)

USE NorthwindGOSELECT * FROM Orders     FOR XML RAW('OrderItem'),    ELEMENTS XSINIL,    ROOT('Orders') 

上面的語法,可以將查詢用XML格式返回,如下圖所示

【備注】FOR XML是SELECT的一個子句,有關(guān)更多用法,請參考SQL Server自帶的聯(lián)機叢書

【備注】導(dǎo)出為XML格式的目的是為了更好地在不同應(yīng)用程序之間共享。

 

反過來,如果我們得到了一段XML數(shù)據(jù),想將其導(dǎo)入到SQL Server中某個表中??梢钥紤]用OPENXML的語法。它的作用就是將XML還原為行集數(shù)據(jù),然后就可以插入到我們的目的表中去了。

DECLARE @x XMLDECLARE @docHandle intSET @x=N'<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <OrderItem>    <OrderID>10248</OrderID>    <CustomerID>VINET</CustomerID>    <EmployeeID>3</EmployeeID>    <OrderDate>1996-07-04T00:00:00</OrderDate>    <RequiredDate>1996-08-01T00:00:00</RequiredDate>    <ShippedDate>1996-07-16T00:00:00</ShippedDate>    <ShipVia>3</ShipVia>    <Freight>32.3800</Freight>    <ShipName>Vins et alcools Chevalier</ShipName>    <ShipAddress>59 rue de lAbbaye</ShipAddress>    <ShipCity>Reims</ShipCity>    <ShipRegion xsi:nil="true" />    <ShipPostalCode>51100</ShipPostalCode>    <ShipCountry>France</ShipCountry>  </OrderItem>  <OrderItem>    <OrderID>10249</OrderID>    <CustomerID>TOMSP</CustomerID>    <EmployeeID>6</EmployeeID>    <OrderDate>1996-07-05T00:00:00</OrderDate>    <RequiredDate>1996-08-16T00:00:00</RequiredDate>    <ShippedDate>1996-07-10T00:00:00</ShippedDate>    <ShipVia>1</ShipVia>    <Freight>11.6100</Freight>    <ShipName>Toms Spezialit?ten</ShipName>    <ShipAddress>Luisenstr. 48</ShipAddress>    <ShipCity>Münster</ShipCity>    <ShipRegion xsi:nil="true" />    <ShipPostalCode>44087</ShipPostalCode>    <ShipCountry>Germany</ShipCountry>  </OrderItem></Orders>'    --第一步,做準(zhǔn)備EXEC SP_XML_PREPAREDOCUMENT @docHandle OUTPUT,@x--第二步,openxmlINSERT Orders SELECT * FROM OPENXML(@docHandle,N'/Orders/OrderItem',2) WITH Orders--第三步,銷毀EXEC sp_xml_removedocument @docHandle  

【備注】OPENXML還有其他更加復(fù)雜的用法,請參考SQL Server自帶的聯(lián)機叢書

 

5.使用Excel導(dǎo)出數(shù)據(jù),或者建立查詢

最后介紹一種更加簡單的方法,如果經(jīng)常需要在Excel中進行數(shù)據(jù)庫查詢,并且據(jù)此做一些進一步的分析。最好的方法是在Excel中直接去導(dǎo)出數(shù)據(jù),或者建立查詢

這個做法的好處,是可以在現(xiàn)有Excel中,任何位置放置你需要的數(shù)據(jù),而且需要注意的是,這些數(shù)據(jù)是鏈接到數(shù)據(jù)庫的,也就是說,如果數(shù)據(jù)庫的數(shù)據(jù)發(fā)生了更新,則只要刷新一下就可以了。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQL Server 2005 數(shù)據(jù)庫開發(fā)新架構(gòu)(2)
使SQL Server數(shù)據(jù)支持 XML SQL server技術(shù)交流
DCMS先鋒論壇-SQL Server 2005中的XML的最佳實踐
SQL Server2005對XML的支持
SQL Server Bulk Insert批量數(shù)據(jù)導(dǎo)入
SQL SERVER 與ACCESS、EXCEL的數(shù)據(jù)轉(zhuǎn)換
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服