2

リンク サーバーを含むデータ層アプリケーションを使用しようとしていますが、奇妙な問題が発生しています。

ここに私が持っているものがあります:

1) データ層プロジェクトを含む VS2010 ソリューション。

2) データ層プロジェクトは、SQL 2008 R2 サーバーを対象としています。

3) SQL サーバーには、Oracle データベースへの有効なリンク サーバー接続があります。

4) データ層プロジェクト内のビューは、OPENQUERY を使用してリンク サーバーを参照します。

リンク サーバー接続は有効であり、サーバー上でそれに対してクエリを実行すると正常に動作し、サーバー上で直接ビューを作成することも正常に動作します。

ただし、データ層アプリケーションをビルドしようとすると、次のエラーが発生します。

SQL03006: View: [dbo].[vwMyExampleView] has an unresolved reference to object [MyExampleLinkedServer].
4

2 に答える 2

1

基本的に問題は、SQL Server データベース プロジェクトに Oracle データベースのテーブルへのリンクを解決する方法がないことです。

同じサーバー上の別のデータベースのテーブルを参照しようとすると、同様の問題が発生しました。私の場合、両方のデータベースに SQL Server を使用しており、他のデータベース用のデータベース プロジェクトを作成し、それを最初のプロジェクトのソリューションに追加してから、最初のプロジェクトから 2 番目のプロジェクトへの参照を作成しました。また、シノニムに SQLCMD 変数を使用して、シノニムを変更できるようにし、すべての proc およびビュー参照を更新する必要がないようにしました。

Visual Studio データベース エディションは SQL Server のみをサポートしているため、これが SQL Server と Oracle の間で機能するかどうかはわかりません。(AFAIK) .dbschema ファイルを作成し、データベース参照を SQL Server プロジェクトに追加することで、解決策を見つけることができる場合があります。

詳細については、次のリンクを参照してください。

http://msdn.microsoft.com/en-us/library/bb386242.aspx

于 2010-06-25T14:14:40.143 に答える
1

SQL 2012 では、新しい項目 -> サーバー オブジェクト -> LinkServer を追加し、リンク サーバーを作成する sp コードを追加します。

于 2014-03-11T13:56:25.643 に答える