web-dev-qa-db-ja.com

文字列からuniqueidentifierへの変換時に変換に失敗しました

SSRSDynamic CRM 2011 Reportを作成しています。いくつかの結合を使用し、結合でGUID=を使用しています。exの場合:

Quote.OpportunityId=Opprtunity.OpportunityId

問題はparametersにあります。 parameterがあり、そのラベルは名前で、値はGUIDレコードのです。データセットから取得します。このデータセットのクエリ(siteDatasetという名前))これは :

select site.SiteId, site.Name from Site;

siteIdはパラメーターの値に移動し、site.nameはパラメーターのラベルに移動します。パラメーターの名前はsiteId自体です。

しかし、私が別のDataSetでこれをやろうとすると:

siteGUIDInAnotherEntity='@siteId'

件名エラーをください。私もこれを試しました:

CONVERT(VARCHAR(50), site.SiteId)

siteId DataSet;しかし、成功しませんでした。

どんな助けでも感謝します。

1
alireza azadi

これはあなたの質問のタイプミスかもしれませんが、念のため、これを可能な回答として投稿します-@siteIdの前後に一重引用符を付けないでください。次のようになります。

siteGUIDInAnotherEntity=@siteId

テキスト文字列 '@siteId'は、その結合のuniqueidentifierに変換できず、指定したエラーが発生します。

SELECT CAST('@siteId' AS uniqueidentifier);

メッセージ8169、レベル16、状態2、行1
文字列からuniqueidentifierへの変換時に変換に失敗しました。

1
Josh Darnell