원격 서버의 Analysis Services에 데이터베이스가 있습니다. 여기에는 다른 원격 서버에있는 다른 데이터베이스의 데이터 소스가 포함됩니다.C#을 사용하여 SSAS에서 데이터 원본에 대한 연결을 테스트하는 방법
두 데이터베이스 간의 데이터베이스 연결을 확인하는 C#을 사용하여 연결 테스트를 작성하려고합니다.
ADOMD.NET을 사용하여이 작업을 수행 할 수 없었습니다. 나는 현재 SMO를 사용하여 이것을보고 있지만 지금까지 어떤 행운이 없었습니다.
나는 조언이나 제안을 크게 부탁드립니다.
업데이트 : 추가 연구 후, 나는 (내가 나중에에서는 try..catch 블록 및 어설 션을 추가하려는 있습니다) 아래의 테스트와 함께 올라와있다
. 서버, 데이터베이스 및 데이터 소스 클래스에 액세스 할 수 \ 프로그램 Files \ Microsoft SQL 서버 \ 100 \ SDK \ 어셈블리 \ Microsoft.AnalysisServices.DLL :
또한,이 C를 사용합니다.
class ConnectivityTests
{
// Variables
String serverName = "";
String databaseName = "";
String dataSourceName = "";
[Test]
public void TestDataSourceConnection()
{
// Creates an instance of the Server
Server server = new Server();
server.Connect(serverName);
// Gets the Database from the Server
Database database = server.Databases[databaseName];
// Get the DataSource from the Database
DataSource dataSource = database.DataSources.FindByName(dataSourceName);
// Attempt to open a connection to the dataSource. Fail test if unsuccessful
OleDbConnection connection = new OleDbConnection(dataSource.ConnectionString);
try
{
connection.Open();
}
catch (OleDbException e)
{
Assert.Fail(e.ToString());
}
finally
{
connection.Close();
}
}
나는 (내가 좀 더시켜 try..catch 블록 어설 션을 추가 한 후에)이 테스트 내 테스트를 위해 충분하다고 생각합니다. 테스트가 통과되면 내 컴퓨터와 두 서버 사이에 연결 문제가 없음을 의미합니다. 이는 서버간에 연결 문제가 없어야 함을 의미합니다.
그러나 두 서버 간의 연결을 직접 테스트하는 방법을 찾지 못했고 누군가가이 작업을 수행하는 방법을 알고 있다면 관심이 있습니다.
무엇이 문제입니까? 귀하의 코드는 일부 연결 문제를 테스트 할 때 사용했던 코드와 매우 유사합니다. 지금은 Microsoft.AnalysisServices.AdomdClient의 AdomdConnection을 사용하고 있지만 사용중인 Server 클래스도 사용했습니다. –
@AnttiSimonen 내가 추가 한 코드가 제대로 작동합니다. 내 컴퓨터와 DBServer, 내 컴퓨터 및 데이터웨어 하우스 간의 연결을 테스트합니다. DBServer와 데이터웨어 하우스 간의 연결을 테스트 할 수있는 방법이 있다면 관심이있었습니다. DBServer에 파일을 배치하지 않고 실제로 이것이 가능하다고 생각하지 않습니다. – acatt
@AnttiSimonen 다른 누군가가 비슷한 방법으로 연결 문제를 테스트하고 있다는 것을 알고 기쁩니다. 감사! – acatt