2009-08-13 11 views
3

URLアクセスを使用してSQL Serverレポートサービス2008からいくつかのレポートをプルダウンしようとしています。私が渡す必要があるパラメータの1つはGuidです。私はちょうどSSRS 2008 UrlにGUIDを渡すアクセスパラメータ

&LoggerID=CD4869DC-68B8-4513-B3C6-0E6DD9F74380 

としてURLへのGUIDを貼り付けるとき、私はエラーを取得する: デフォルト値またはレポートのパラメータに指定された値「LoggerID」は有効な値ではありません。 (rsInvalidReportParameter)

私は一重引用符と大括弧と中括弧を試しています。私は何が欠けていますか?

答えて

2

パラメータに使用可能な値を「クエリから値を取得」として設定すると、URLのGUIDは受け入れられません。これをオフにするとすぐに動作します。これは、整数でこれをやっているので、GUIDの問題にしか見えません。うまくいきます。

関連:2008年は引き続きパラメータータイプとしてstringを使用しています。

+0

これを確認できます。私の場合、私はURLパラメータでレポートを開くことができる必要があります。 paramが指定されていない場合は、デフォルト値を持つ必要があります。私の解決策:2つのパラメータを作成します。 @Firstはクエリで満たされ、デフォルト値を持ちます。デフォルトで@Secondはnullです。次に、URLから@Secondを設定し、ISNULL(@秒、@First)を使用して両方のクエリを使用できます。 –

1

その形式のGuidを自分のレポートの1つに渡すと正常に動作します。

"LoggerID"というパラメータについてエラーメッセージが表示されますが、URLはパラメータ名として "guid"を使用しています。そんな単純なことじゃない?

私の経験上、SSRS URLパラメータでは大文字と小文字が区別されます。 URLに "loggerid = ..."を渡していて、パラメータの名前が "LoggerID"の場合、エラーメッセージが表示されます(エラーではありませんが、問題ではないと思われます)。

更新

私は、デザインモードで私のレポートを見て持っていた、そしてそれは実際にパラメータの型は「文字列」を使用しています。 SSRS 2005では、Guidを使用するオプションはありません。それはあなたのためのオプション(文字列にパラメータを変更し、クエリでキャスト)かもしれませんが、それはちょっとしたハックです。

+0

申し訳ありませんが、私のコードは例でした。文字列に正しいLoggerIDを使用しています。 – jimconstable

+0

あなたは2008年を使用していると思いますか? – jimconstable

+0

いいえ、私は2005年です。おそらく機能は2008年に変更されました。 –

3

私はこの問題に遭遇し、Guid内の文字の大文字化に問題があることが判明しました。

SSRSはuniqueidentifierを認識しないため、SSRSはuniqueidentifierを文字列として扱います。したがって、そのパラメータに「クエリから値を取得する」オプションがある場合、渡すurlパラメータは文字のクエリ結果文字と一致する必要があります。マッチング総額

意味それは、URLに私が

&entityIdentifier=75745B11-09B8-4BF6-98EF-F3E8A2ACEC05 

を持っていたとき失敗したが、私は

&entityIdentifier=75745b11-09b8-4bf6-98ef-f3e8a2acec05 
+0

「ReportServer」セクションで、「Report」セクションではないことを確認しなければなりません。チェックは次のようになります:** http:// [address] /*Reports*/...**これは間違っています... http:// [address]/* ReportServerにする必要があります*/... ** –

0

に私はちょうどでGUIDパラメータを渡すしようとしているだけでなく問題に遭遇したことを変更したときに働いていましたURLを介して私の解決策は、パラメータの使用可能な値に使用されるDatasetクエリでvarchar(36)にuniqueidentifierをキャストすることでした。次に、他の人が述べたように、URLのGUIDのケーシングが利用可能な値のデータセットのケーシングと一致することを確認する必要がありました。

使用可能な値データセットクエリの例:

SELECT CAST(MyGuidColumn AS varchar(36)) AS MyGuidColumn, MyLabelColumn 
FROM MyTable 
0

私は、URLのGUIDがそうでなければ、それはそれを受け入れることはありません小文字で来て持っているいくつかの理由で、時間の同じ問題のカップルを持っていました。

あなたのGUIDが小文字にフォーマットされていることを確認してください。

関連する問題