当我尝试在SSIS'OLEDB命令中运行简单查询时,我总是收到无法解释的错误(请参阅下文)。SSIS OLEDB命令失败 - 未知错误
我的查询在SQL Server中运行得很好,我做了一些调整,以确保它运行起来更简单,但无济于事。
DECLARE @Gender [nvarchar](6)
DECLARE @Ready [nvarchar](12)
DECLARE @DOB [datetime]
SET @Gender=?
SET @Ready=?
SET @DOB=?
IF @Gender = 'M'
SET @Gender='Male'
IF @Gender = 'F'
SET @Gender='Female'
IF @Ready='Y'
SET @DOB=NULL
INSERT INTO [dbo].[PHI_CLIENT_PROFILES]
([col43],
[col13],
[col22],
[col10],
[origin]
)
VALUES
(@DOB, @Gender, ?, ?, ?)
错误消息:
验证错误。数据流任务:数据流任务:SSIS错误代码 DTS_E_OLEDBERROR。发生了OLE DB错误。错误代码: 0x80004005。 OLE DB记录可用。来源:“微软的OLE DB 提供程序SQL Server” HRESULT:0x80004005说明:“语法 错误或访问冲突”
您是否在参数映射选项卡上提供了7个变量? – billinkc
@billinkc不,我不是因为那个错误,param页面将不*刷新。我尝试了100个不同的虚拟变量,并且逐行添加/删除了我的代码,因此param页面已过时(由于我的逐行方法,它显示1个参数)。在破解代码之前,param页面不会显示任何东西 – LearnByReading
@billinkc我还应该补充说,问题似乎在可变部分。 SSIS OLEDB COMMAN是否接受变量?我尝试了一个更简单的代码,它工作,但我很新,这个任务。 – LearnByReading