1

クエリで日時パラメーターを渡すOPENROWSETと、次のエラーが発生します。

文字列から日時を変換する際に変換に失敗しました

SELECT * FROM OPENROWSET('SQLNCLI',
    'SERVER=localhost;UID=test;PWD=test', 
    'set FMTONLY OFF exec testdatabase.dbo.Proc_Salaryslip_PF '','','','',''5112'','','','','',''8'',''2012'','','',''0'',''1'',A,20120401,20130301,''Y'',''Y'','',A,admin,0,N,'',''18'' ') 

解決策を提案してください。私のプロジェクトはあなたの答えに依存しています。

4

1 に答える 1

0

これらは疑わしいよう20120401,20130301です。それらがパラメーターに渡されると、次のdatetimeようになります。

データ型 int を datetime に変換中にエラーが発生しました。

文字列リテラルではなく整数として渡すためです。それを修正するには、それらを文字列として引用する必要があります。

しかし、それはあなたが得るエラーではないので、別のパラメータを文字列としてパラメータに渡していdatetimeます。

使用するパラメータ リストは次のとおりです。パラメータごとに 1 行です。プロシージャの宣言と照合してください。

exec testdatabase.dbo.Proc_Salaryslip_PF 
',',
',',
'5112',
',',
',',
'8',
'2012',
',',
'0',
'1',
A,
20120401,
20130301,
'Y',
'Y',
',A,admin,0,N,',
'18' 
于 2012-11-15T07:04:34.747 に答える