使用T SQL實現資料匯出 匯入

2021-05-01 10:49:09 字數 3077 閱讀 8283

今天嘗試使用transact-sql進行資料的匯出匯入,收穫頗豐。與使用dts相比,效率要高很多!

一、開啟opendatasource功能

開始 —>

所有程式  —>

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

queries' 的詳細資訊,請參閱 sql server 聯機叢書中的 "外圍應用配置器"。

二、開啟遠端連線

開始 —>

所有程式  —>

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" 返回了訊息 "登入超時已過期"。

鏈結伺服器"(null)"的 ole db 訪問介面 "sqlncli" 返回了訊息 "建立到伺服器的連線時發生錯誤。連線到 sql server 2005 時,預設設定

sql server 不允許遠端連線這個事實可能會導致失敗。"。

訊息 65535,級別 16,狀態 1,第 0 行

sql 網路介面: 從登錄檔獲取已啟用的協議列表時出錯 [xffffffff].

0

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 知識。...