---所有配置做完后,現(xiàn)在就是調(diào)用它:
筆者介紹三種調(diào)用方式:
A:命令
開始:dtsrunui (有向?qū)?按照向?qū)?為每一個(gè)參數(shù)賦予值,就可以了)一般用于測(cè)試
B:包調(diào)用
這個(gè)也有相關(guān)書籍介紹,筆者略
C:存儲(chǔ)過程調(diào)用
CREATE PROCEDURE my_proc1 AS
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N "水質(zhì)項(xiàng)目監(jiān)測(cè)數(shù)據(jù)導(dǎo)入 " /A "ServerName ":8= /A "FileName ":8= "D:\SZDATA\ExcelData\AppraiseData.xls " /A "DataSource ":8= "SZ " '
GO
筆者稍微說明下參數(shù)定義:
/S 服務(wù)器 /E 信任連接 /N 包名
/ ServerName: 為空 ,8:全局參數(shù)類型為字符
/A 表示全局變量
D:利用游標(biāo)循環(huán)調(diào)用DTS
--包參數(shù)調(diào)用的另一種方式:
DECLARE @STCD varchar(10)
DECLARE STCDS_CURSOR CURSOR FOR
OPEN STCDS_CURSOR
FETCH NEXT FROM STCDS_CURSOR
INTO @STCD
WHILE @@FETCH_STATUS = 0
BEGIN
--調(diào)用包代碼
EXEC( 'master.dbo.xp_cmdshell ' 'dtsrun /S /E /N "新建包 " /A "STCD ":3= " '+@STCD+ ' " ' ' ')
FETCH NEXT FROM STCDS_CURSOR
INTO @STCD
END
CLOSE STCDS_CURSOR
DEALLOCATE STCDS_CURSOR
GO
E:.net調(diào)用方式:
//說明需要添加 Microsoft.SqlServer.DTSPkg80.Package2Class
/// <summary>
/// 運(yùn)行DTS(Data Transformation Services )
/// </summary>
/// <returns> </returns>
public string runDTS()
{
try
{
string returnValue;
Microsoft.SqlServer.DTSPkg80.Package2Class package = new Microsoft.SqlServer.DTSPkg80.Package2Class();
string fileName = "C:\\DTStest.dts ";
string password = null;
string packageID = null;
string versionID = null;
string name = "DTStest ";
object pVerpersistStfOfHost = null;
package.LoadFromStorageFile(fileName,password,packageID,versionID,name,ref pVerpersistStfOfHost);
package.Execute();
package.UnInitialize();
package=null;
returnValue = "success ";
return returnValue;
}
catch(Exception ex)
{
throw ex;
}
}
--