SQL Server の 1 つのデータベースにユーザー定義のテーブル型があります (これを と呼びましょうDB1
)。
私の型の定義は非常に単純で、2 つの列しか含まれていません。私のタイプを作成するスクリプトは以下のとおりです。
CREATE TYPE [dbo].[CustomList] AS TABLE
(
[ID] [int] ,
[Display] [NVARCHAR] (100)
)
別のデータベースでも同じスクリプトを実行したので、私のタイプは 2 つのデータベース上にあります (2 番目のデータベースを呼び出しましょうDB2
)。
DB1
ここで、C# アプリからストアド プロシージャを呼び出し、CustomList
ユーザー定義型のパラメーターを渡します。
のプロシージャは、 this を渡すときにDB1
プロシージャを呼び出す必要があります。DB2
CustomList
したがって、 の手順はDB1
次のようになります。
ALTER PROCEDURE [dbo].[selectData]
@psCustomList CustomList ReadOnly
AS
BEGIN
EXEC DB2.dbo.selectMoreData @psCustomList
END
の手順DB2
は次のようになります (必要なのはパラメーター リストだけです)。
ALTER PROCEDURE [dbo].[selectMoreData]
@psCustomList CustomList ReadOnly
AS
BEGIN
......
これを実行すると、次のエラーが表示されます。
オペランド タイプの衝突: CustomList は CustomList と互換性がありません
誰かが私が間違っていることを知っていますか?
SQL Server 2008 を使用しています。
前もって感謝します