---所有配置做完后,現在就是調用它:
筆者介紹三種調用方式:
A:命令
開始:dtsrunui (有向導,按照向導,為每一個參數賦予值,就可以了)一般用于測試
B:包調用
這個也有相關書籍介紹,筆者略
C:存儲過程調用
CREATE PROCEDURE my_proc1 AS
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N "水質項目監測數據導入 " /A "ServerName ":8= /A "FileName ":8= "D:\SZDATA\ExcelData\AppraiseData.xls " /A "DataSource ":8= "SZ " '
GO
筆者稍微說明下參數定義:
/S 服務器 /E 信任連接 /N 包名
/ ServerName: 為空 ,8:全局參數類型為字符
/A 表示全局變量
D:利用游標循環調用DTS
--包參數調用的另一種方式:
DECLARE @STCD varchar(10)
DECLARE STCDS_CURSOR CURSOR FOR
OPEN STCDS_CURSOR
FETCH NEXT FROM STCDS_CURSOR
INTO @STCD
WHILE @@FETCH_STATUS = 0
BEGIN
--調用包代碼
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調用方式:
//說明需要添加 Microsoft.SqlServer.DTSPkg80.Package2Class
/// <summary>
/// 運行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;
}
}
--
筆者介紹三種調用方式:
A:命令
開始:dtsrunui (有向導,按照向導,為每一個參數賦予值,就可以了)一般用于測試
B:包調用
這個也有相關書籍介紹,筆者略
C:存儲過程調用
CREATE PROCEDURE my_proc1 AS
EXEC master.dbo.xp_cmdshell 'dtsrun /S /E /N "水質項目監測數據導入 " /A "ServerName ":8= /A "FileName ":8= "D:\SZDATA\ExcelData\AppraiseData.xls " /A "DataSource ":8= "SZ " '
GO
筆者稍微說明下參數定義:
/S 服務器 /E 信任連接 /N 包名
/ ServerName: 為空 ,8:全局參數類型為字符
/A 表示全局變量
D:利用游標循環調用DTS
--包參數調用的另一種方式:
DECLARE @STCD varchar(10)
DECLARE STCDS_CURSOR CURSOR FOR
OPEN STCDS_CURSOR
FETCH NEXT FROM STCDS_CURSOR
INTO @STCD
WHILE @@FETCH_STATUS = 0
BEGIN
--調用包代碼
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調用方式:
//說明需要添加 Microsoft.SqlServer.DTSPkg80.Package2Class
/// <summary>
/// 運行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;
}
}
--