ローカルSQLサーバインスタンスを取得する方法が全くわかりません。私が受け取るのはサーバー名だけです。ローカルSQLサーバのインスタンス名を取得
DataTable availableServers = SmoApplication.EnumAvailableSqlServers([All of the 3 inputs]);
foreach (DataRow serverRow in availableServers.Rows)
{
// foreach row list "Name", "Server", "Instance" etc...
}
と
SqlDataSourceEnumerator sdse = SqlDataSourceEnumerator.Instance;
DataTable table = sdse.GetDataSources();
foreach (DataRow row in table.Rows)
{
// foreach row list "ServerName", "InstanceName", "IsClustered" and "Version"
}
と
ManagedComputer mc = new ManagedComputer();
ServerInstance instance = mc.ServerInstances;
私はローカルのSQL Serverインスタンス名を取得することができますいくつかの他の方法があります:ここで私が試してみました異なるアプローチがありますか?
私は、管理スタジオのSQLサーバーに接続するときに、接続ダイアログにローカルインスタンスを。\ sqlexpressまたは(local)\ sqlexpressとして表示することを知っています。また、InstallShieldにデータベースインストールを展開するときに、InstallShieldの「locate sqlserver」-dialogがローカルホストの正しいインスタンスを取得します。彼らは何を正しくしていますか?
それは私が私の質問に表示された3回目の試みでした。名前は空です。 – humcfc
設定に問題がある可能性があります。インスタンスが同じマシンにあると仮定します。 [ProviderArchitecture](http://social.msdn.microsoft.com/Forums/en-US/sqlsmoanddmo/thread/32201c6b-a67d-4a40-9504-cc073ee2a20c/)を設定しようとしましたか? mc.ConnectionSettings.ProviderArchitecture = ProviderArchitecture.XXX –
ありがとうございました! ProviderArchitecture.Use64bitを設定しなければならなかった – humcfc