SQL BULK INSERT

--語法
BULK INSERT [ [ 'database_name'.][ 'owner' ].]{ 'table_name' FROM 'data_file' }
    [ WITH
        (
            [ BATCHSIZE [ = batch_size ] ]
            [ [ , ] CHECK_CONSTRAINTS ]
            [ [ , ] CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ] ]
            [ [ , ] DATAFILETYPE [ =
                { 'char' | 'native'| 'widechar' | 'widenative' } ] ]
            [ [ , ] FIELDTERMINATOR [ = 'field_terminator' ] ]
            [ [ , ] FIRSTROW [ = first_row ] ]
            [ [ , ] FIRE_TRIGGERS ]
            [ [ , ] FORMATFILE = 'format_file_path' ]
            [ [ , ] KEEPIDENTITY ]
            [ [ , ] KEEPNULLS ]
            [ [ , ] KILOBYTES_PER_BATCH [ = kilobytes_per_batch ] ]
            [ [ , ] LASTROW [ = last_row ] ]
            [ [ , ] MAXERRORS [ = max_errors ] ]
            [ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
            [ [ , ] ROWS_PER_BATCH [ = rows_per_batch ] ]
            [ [ , ] ROWTERMINATOR [ = 'row_terminator' ] ]
            [ , [ TABLOCK ] ]
        )
    ]

/******* 導出到excel */
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' 

/*********** 導入Excel */
SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 

/*動態文件名 
declare @fn varchar(20),@s varchar(1000) 
set @fn = 'c:/test.xls' 
set @s ='''Microsoft.Jet.OLEDB.4.0'', 
''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0''' 
set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$' 
exec(@s) 
*/ 

SELECT cast(cast(科目編號 as numeric(10,2)) as nvarchar(255))+' ' 轉換後的別名 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 

/********************** EXCEL導到遠程SQL */
insert OPENDATASOURCE( 
'SQLOLEDB', 
'Data Source=遠程ip;User ID=sa;Password=密碼' 
).庫名.dbo.表名 (列名1,列名2) 
SELECT 列名1,列名2 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 


/** 導入文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:/DT.txt -c -Sservername -Usa -Ppassword' 

/** 導出文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename out c:/DT.txt -c -Sservername -Usa -Ppassword' 
或 
EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:/DT.txt -c -Sservername -Usa -Ppassword' 

/**導出到TXT文本,用逗號分開*/ 
exec master..xp_cmdshell 'bcp "庫名..表名" out "d:/tt.txt" -c -t ,-U sa -P password' 


BULK INSERT 庫名..表名 
FROM 'c:/test.txt' 
WITH ( 
FIELDTERMINATOR = ';', 
ROWTERMINATOR = '/n' 
) 


--/* dBase IV文件 
select * from 
OPENROWSET('MICROSOFT.JET.OLEDB.4.0' 
,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客戶資料4.dbf]') 
--*/ 

--/* dBase III文件 
select * from 
OPENROWSET('MICROSOFT.JET.OLEDB.4.0' 
,'dBase III;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客戶資料3.dbf]') 
--*/ 

--/* FoxPro 數據庫 
select * from openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/', 
'select * from [aa.DBF]') 
--*/ 

/**************導入DBF文件****************/ 
select * from openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver; 
SourceDB=e:/VFP98/data; 
SourceType=DBF', 
'select * from customer where country != "USA" order by country') 
go 
/***************** 導出到DBF ************** 
如果要導出數據到已經生成結構(即現存的)FOXPRO表中,可以直接用下面的SQL語句 */

insert into openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/', 
'select * from [aa.DBF]') 
select * from 表 

/*說明: 
SourceDB=c:/ 指定foxpro表所在的文件夾 
aa.DBF 指定foxpro表的文件名. */


/*************導出到Access********************/ 
insert into openrowset('Microsoft.Jet.OLEDB.4.0', 
'x:/A.mdb';'admin';'',A表) select * from 數據庫名..B表 

/*************導入Access********************/ 
insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0', 
'x:/A.mdb';'admin';'',A表) 

/*文件名爲參數*/  
declare @fname varchar(20) 
set @fname = 'd:/test.mdb' 
exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'', 
'''+@fname+''';''admin'';'''', topics) as a ') 

SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="f:/northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...產品


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章