2016-08-19 13 views
2

SQL Server 2014を使用して、プロシージャとSSRSレポートに接続するdataSetを格納しています。CAST/CONVERTデータ型からINT SQL Serverクエリ

SELECT * 
INTO #Test10 
FROM OPENQUERY([SERVER1], 'exec [test_1].shp.Report_test1 @FIELDID = [@FIELDID]') 

SELECT * FROM #Test10 

パラメータ@FIELDID中のSOときに、ユーザーの種類数、彼はintにデータ型nvacharの変換エラー

を取得します。データセットクエリは次のようになります。

このクエリのデータ@FIELDIDをINTに変換する必要があります。正しい構文の助けを願っています。

+0

なぜあなたのSSRSパラメータのintとしてそれを持っていないのですか? – scsimon

+0

レポートパラメタのプロパティでデータ型を整数に変更しても、上記のエラーがあります。 – Dmitry

答えて

1

シナリオを構築するために、私はスキーマ.dboでテーブルサンプルを作成し、スキーマ.shpにReport_test1プロシージャを作成しました。

DECLARE @Query NVARCHAR(2000) 
DECLARE @FIELDID INT=1 

SET @Query = N'SELECT * INTO dbo.Test1 FROM OPENQUERY([LAP], ''exec [MyLab].shp.Report_test1 @FIELDID = '+Cast(@FIELDID As Varchar(50))+ ' '')' 
EXEC (@Query) 

SELECT * FROM dbo.Test1 

は次のように試してみて、私に知らせてください..

CREATE TABLE dbo.[sample] 
(ID INT, 
Name VARCHAR(50)) 
GO 

INSERT INTO dbo.sample 
VALUES (1,'A'), (2,'B'), (2,'C'), (1,'D'), (3,'A'), (1,'F') 
GO 

CREATE PROCEDURE shp.Report_test1 
@FIELDID int 
AS 
BEGIN 

    SELECT * 
    FROM [Sample] 
    WHERE [email protected] 

END 
GO 

は、私は以下のOPENQUERYコマンドを実行し、それが私のために動作します。

+0

mssqlから - ストアドプロシージャが見つかりませんでした。 – Dmitry

+0

あなたのサーバー名は? –

+0

OPENQUERY([Server] - あなたがこの質問の部分について話しているのなら、私はしました – Dmitry