Hur kan jag kodvägen få fram, vad min SQL Server heter? :q
Vad heter sqlservern?
6 svar · 318 visningar · startad av saw
Hej niko.
Jo det var det jag var ute efter, men jag får den inte att fungera.
Jag har en SQL Server2000 som heter \\sawdata men jag får inte upp den i comboBoxen.
Jag har naturligtvis lagt till referensen.
Ja, jag Googlade lite och det verkar som om det finns ett problem med ListAvailableSQLServers och named instances. Det funkar ibland och ibland inte.
However, we do not guarantee that named instances will be listed.
Annars kanske du kunde gå en helt annan väg och kolla innehållet i registernyckeln:
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\InstalledInstances
och sen kolla vilka instanser som är igång genom att försöka ansluta till dem? Jag vet nog inte mer, jag har aldrig provat.
>HKLM kan man skriva så här???
Jag vet inte om jag har gjrt mig otydlig men resultatet av denna nyckel är MSSQLSERVER.
Det jag ville få fram är det namnet som står i SQL Server Service Manager.
Jag har till och med för mig att man kunde köra en store produse för det, men kan inte hitta den.
[REDIGERAT]
Jag hittade en annan nyckel som visar exact vad jag ville ha, men
hur jag än kodar så får jag fram "Det finns inga nycklar"
RegistryKey pRegKey = Registry.LocalMachine;
pRegKey = pRegKey.OpenSubKey("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\MSSQLServer\\DefaultDomain");
if(pRegKey !=null)
{
Object sqlNamn = pRegKey.GetValue("DefaultDomain");
MessageBox.Show(sqlNamn.ToString());
}
else
{
MessageBox.Show("Hittar inga nycklar");
}
Visst skall man väll kunna skriva så här?
[REDIGERAT]
Det var slarv av mig, jag har löst det nu.
pRegKey = pRegKey.OpenSubKey("SOFTWARE\\Microsoft\\MSSQLServer\\MSSQLServer");
if(pRegKey !=null)
{
Object sqlNamn = pRegKey.GetValue("DefaultDomain");
MessageBox.Show(sqlNamn.ToString());
}
else
{
MessageBox.Show("Hittar inga nycklar");
}
Tack niko.
saw skrev:
Jag vet inte om jag har gjrt mig otydlig men resultatet av denna nyckel är MSSQLSERVER.
Är du säker på det? Typen på nyckeln är REG_MULTI_SZ vilket betyder att det är flera strängar som ligger efter varandra med null-tecken emellan. Det du har tittat på är antagligen bara första strängen (huvudinstansen).
saw skrev:
Visst skall man väll kunna skriva så här?
Nej, HKEY_LOCAL_MACHINE är ju inte ett strängvärde som ska stå inom citationstecknen. Ungefär:
RegistryKey pRegKey = Registry.LocalMachine;
pRegKey = pRegKey.OpenSubKey("SOFTWARE\\Microsoft\\MSSQLServer\\MSSQLServer");
if(pRegKey !=null)
{
Object sqlNamn = pRegKey.GetValue("DefaultDomain");
// osv ..
Om du såg min redigering, så såg du kanske att jag kom till samma resultat.
Tack i allafall.