2015-01-21 7 views
0

OLEDB 명령에서 proc를 불러올 수 없습니다. 미리 가져 오류 :SSIS OLEDB 명령 매개 변수 오류

[OLE DB Command [420]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Syntax error, permission violation, or other nonspecific error".

이 SqlCommand를 작동 :

exec [dbo].[Update_PRODBOM_93Days] '1',5,'se1'. 

을하지만이 :

exec [dbo].[Update_PRODBOM_93Days] ?,?,? 

내 ConnectionString을은 다음과 같습니다

Data Source=tcp:sld51cxbyz.database.windows.net,1433;User [email protected];Initial Catalog=MigrationFromAx;Provider=SQLNCLI10.1;Persist Security Info=True;Packet Size=0;Application Name=SSIS-DaxPRODtoOEMDW-{2DA081B5-9B6B-403F-B354-F759BEAD952D}DestinationConnectionOLEDB;database=MigrationFromAX;encrypt=True;trustservercertificate=False;connection timeout=30; 

내가 그것을 변경하는 경우 :

Data Source=sld51cxbyz.database.windows.net;User [email protected];Initial Catalog=MigrationFromAX;Provider=SQLNCLI11.1;Auto Translate=False; 

작동합니다.

SQLCLI10은 oledb 명령을 지원하지 않습니까?

내 데이터베이스는 Azure 데이터베이스입니다.

내의 StoredProcedure은 다음과 같습니다

CREATE PROCEDURE [dbo].[Update_PRODBOM_93Days] 
    @PRODID nvarchar(20) 
    ,@PRODSTATUS int 
    ,@DATAAREAID nvarchar(4) 

AS 
BEGIN 

    update dbo.PRODBOM_93Days 
     SET prodstatus = @PRODSTATUS 
    where PRODID = @PRODID and [email protected] 
END 
+0

를 사용하여 프로파일을지도하는 작동하지 않습니다. –

답변

2

? 구문은 OLE DB 드라이버입니다. Azure이기 때문에 명명 된 매개 변수를 사용하는 ADO.NET 드라이버를 사용하고 있습니다. 이 내용은 OLE DB 연결 관리자를 사용하는 OLE DB 명령입니다 제외 따라서

exec [dbo].[Update_PRODBOM_93Days] @PRODID, @PRODSTATUS, @DATAAREAID; 

그리고 당신이하는 SqlCommand를 실행할 때 SQL은 SSIS에 의해 전송되는 것을보고 ... 따라