2017-09-01 7 views
0

現在、SQL Server Management Studioでクエリが実行されています。クエリを実行するSQLサーバー上の2つのデータベースと、リンクされたSQL Server上に1つのデータベースから情報を収集しています。クエリの構造は次のとおりです。複数のサーバーSQLクエリ.Net

SELECT TOP 10 
    DB1.id_number as BLN, 
    DB1.field1, 
    DB2.field2, 
    DB3.field3 
FROM 
    LinkedServer.database1.dbo.table1 DB1 
INNER JOIN 
    database2.dbo.table2 DB2 ON DB1.id_number = DB2.id_number 
INNER JOIN 
    database3.dbo.table3 DB3 ON DB3.id_number2 = DB1.id_number2 
WHERE 
    DB1.id_number IS NOT NULL 
    AND DB1.field1 IS NOT NULL 

.Netアプリケーションからこの同じクエリを実行するにはどうすればよいですか。私は、データベースにビューを保存する必要がないソリューションを探しています。

あなたが提案した解決策であれば、接続文字列とセキュリティ問題を詳しく記述してください。

ありがとうございます。

+0

リンクサーバーを使用しない機能的に同一のクエリを実行することを意味しますか? –

+5

アプリケーション内の他のすべてのデータアクセスステップと同様に、このクエリをストアドプロシージャに配置します。それについては何も変わりありません。 –

+0

接続文字列に関する便利なリファレンス:https://www.connectionstrings.com/sql-server/ – Xedni

答えて

2

SqlCommandを使用してクエリを実行できます。 ORMでそれをやっても、それができれば少し難しいかもしれません。

+0

SqlCommandにリンクサーバーを含めるにはどうすればよいですか。複数の接続を使用しますか? –

+1

異なる接続の必要はありません。接続先のサーバーは、リンクサーバーにアクセスする方法を知っています。 – Shago

+0

[OK]をクリックし、リンクされたサーバーにアクセスするための資格情報はどうですか?リンクされたサーバーに接続するときにメインサーバーと同じ資格情報を使用しますか? –

関連する問題