今天嘗試使用transact-sql進行資料的匯出匯入,收穫頗豐。與使用dts相比,效率要高很多!
一、開啟opendatasource功能
開始 —>
所有程式 —>queries' 的詳細資訊,請參閱 sql server 聯機叢書中的 "外圍應用配置器"。microsoft sql server 2005 —>
配置工具 —>
sql server外圍應用配置器 —>
功能的外圍應用配置器 —>
例項名 —>
database engine —>
即席遠端查詢 —>
啟用openrowset和opendatasource支援。
否則,會報錯:
訊息 15281,級別 16,狀態 1,第 1 行
sql server 阻止了對元件 'ad hoc distributed queries' 的 statement'openrowset/opendatasource' 的訪問,因為此元件已作為此伺服器
安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'ad hoc distributed queries'。有關啟用 'ad hoc distributed
二、開啟遠端連線
開始 —>所有程式 —>
microsoft sql server 2005 —>
配置工具 —>
sql server外圍應用配置器 —>
服務和連線的外圍應用配置器
—>
例項名 —>
database engine —>
遠端連線 —>
本地連線和遠端連線 —>
僅使用tcp/ip —>
應用 —>
重新啟動資料庫引擎
否則,會報錯:
鏈結伺服器"(null)"的 ole db 訪問介面 "sqlncli" 返回了訊息 "登入超時已過期"。
鏈結伺服器"(null)"的 ole db 訪問介面 "sqlncli" 返回了訊息 "建立到伺服器的連線時發生錯誤。連線到 sql server 2005 時,預設設定
sql server 不允許遠端連線這個事實可能會導致失敗。"。
訊息 65535,級別 16,狀態 1,第 0 行
sql 網路介面: 從登錄檔獲取已啟用的協議列表時出錯 [xffffffff].
三、開啟客戶端tcp/ip協議
開始 —>所有程式 —>
microsoft sql server 2005 —>
配置工具 —>
sql server configuration manager —>
sql server 2005網路配置:啟用tcp/ip 協議
sql native client 配置: 啟用
預設埠-1433
四、建立聯接伺服器
exec sp_addlinkedserver @server='conndb04',
@provider='sqloledb',
@srvproduct='',
@datasrc='winnie/iidc'
exec sp_addlinkedsrvlogin @rmtsrvname='winnie/iidc',
@useself='false',
@locallogin='admin',
@rmtuser='admin',
@rmtpassword='password';
[注]這裡的login帳戶,應該是使用sql server身份驗證的帳戶,否則,會報錯:xx使用者無法登陸。。。
五、在匯入目標資料庫中建立空表
use wwww
gocreate table pro_unit_sort(
culid varchar(40),
coll_unit varchar(400),
cul_sort varchar(400))
六、執行匯出/匯入
select * into wwww.dbo.pro_unit_sort from conndb04.wwww_xx..dbo.xx._unit_sort;
[注]
1、第四步和第六步等同於:
use wwww
go
insert into opendatasource(
'sqloledb',
'data source=winnie/iidc;
user id=admin;
password=password'
).wwww.dbo.pro_unit_sort
select * from wwww_xx.dbo.xx.unit_sort;
2、執行此操作時,將使用到udp 1434埠,如果防火牆關閉了此埠的話,請將其開啟。否則,會報錯:
鏈結伺服器"(null)"的 ole db 訪問介面 "sqlncli" 返回了訊息 "登入超時已過期"。0鏈結伺服器"(null)"的 ole db 訪問介面 "sqlncli" 返回了訊息 "建立到伺服器的連線時發生錯誤。連線到 sql server 2005 時,預設設定
sql server 不允許遠端連線這個事實可能會導致失敗。"。
訊息 65535,級別 16,狀態 1,第 0 行
sql 網路介面: 從登錄檔獲取已啟用的協議列表時出錯 [xffffffff].
0 0
(請您對文章做出評價)
關於T sql匯入匯出Excel
我的伺服器上 use test insert into openrowset microsoft.jet.oledb.4.0 excel 8.0 hdr yes database c a.xls sheet1 select from a 客戶的伺服器上 use test delete from a ...
使用BCP匯出匯入資料
bcp 實用工具可以在 microsoft sql server 例項和使用者指定格式的資料檔案間大容量複製資料。使用 bcp 實用工具可以將大量新行匯入 sql server 表,或將表資料匯出到資料檔案。除非與 queryout 選項一起使用,否則使用該實用工具不需要了解 transact sq...
使用BCP匯出匯入資料
bcp實用工具可以在 microsoft sql server 例項和使用者指定格式的資料檔案間大容量複製資料。使用bcp實用工具可以將大量新行匯入 sql server 表,或將表資料匯出到資料檔案。除非與queryout選項一起使用,否則使用該實用工具不需要了解 transact sql 知識。...