我有一个接受文件名作为参数的SP。在SSIS执行sql任务中传递参数
该SP,我想通过调用执行SQL任务在SSIS(使用2008)
但我的问题是,每个文件名是有变化的时间。如何处理这种场景。
请帮助我,因为我是很新的SSIS
SP
CREATE PROCEDURE [dbo].[Xml_FULL_insert]
@XMLFileName NVARCHAR(256)
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRY
DECLARE @Query NVARCHAR(max)
IF OBJECT_ID('dbo.tblFile', 'U') IS NOT NULL DROP TABLE dbo.tblFile;
CREATE TABLE dbo.tblFile (xmldata XML)
BEGIN TRANSACTION
SET @Query = 'INSERT INTO tblFile(XMLData) SELECT CONVERT (XML,
BulkColumn,2) FROM OPENROWSET(BULK '''[email protected]+''', SINGLE_BLOB) AS
x;'
EXEC (@Query)
COMMIT TRANSACTION
END TRY
END
我也跟着下面的步骤: -
声明具有完整的文件路径变量的值。 (变量名称:文件名)
从执行SQL TASK EXEC [Xml_FULL_insert]调用SP?
参数传递:
变量名:文件名 方向:输入 Dtattype VARCHAR 参数名称:0 长度:50
每当文件名比的值指定的不同变量,包失败。
尽管文件结构相同。
我的变量有值(d:\ SSIS_Packages \ AutoGrade.xml)全路径文件名是ACES_2015.10_AutoGrade.xml ,并在同一文件夹中的新文件显示为mynewfile.xml。包失败,尽管参数映射
我需要做一些SP的变化吗?请尽可能提出建议。
U将需要使用将值传递给存储过程参数的用户变量。检查此链接https://www.simple-talk.com/sql/ssis/working-with-variables-in-sql-server-integration-services/ –
@mhasan:在我的sql语句我已经通过了类似 EXEC dbo.Xml_FULL_insert? 在参数映射 变量名:文件名 方向:输入 Dtattype VARCHAR 参数名称:0 长度:50 在可变 路径:d:\ SSIS_Packages \ * XML仍然得到错误等。 “ResultSet”属性设置不正确,参数设置不正确。请帮助 – akhrot
任何人都可以帮助我。 – akhrot