2009-07-30 5 views
0

Comment obtenir le chemin d'installation de Sqlserver par programme.Comment obtenir le chemin d'installation SQLSERVER en utilisant C++?

Si nous optons pour le Registre Puis Registre Hives peut être différent d'un OS à d'autres OS

Comme w2k3 à w3k8 et VISTA et W2k8 R2 comme ça ..

Mais je ne l'aide du Registre comme suit mais j'ai donné un code dur vAleurs clés Si Hives sont identiques alors pas de problème si différent Le problème augmente ....

CRegKey cregkey; 
DWORD result; 
const char subkey[]="SOFTWARE\\Microsoft\\Microsoft SQL Server\\100"; 
const char keyval[] = "VerSpecificRootDir"; 
char path[ 2048 ]; 
result = cregkey.Open(HKEY_LOCAL_MACHINE,subkey); 
    if (ERROR_SUCCESS == result) 
    { 
     DWORD dwCount = sizeof(path); 
     result = cregkey.QueryStringValue(keyval, path, &dwCount); 
      if (ERROR_SUCCESS == result) 
      {    
       cout<<" The SQLSERVER Pathis "<<path<<endl; 

      } 
    }     

Répondre

1

Je suppose que la ruche pour instance paramètres indépendants (c.-à-outils partagés qui ne pas t dépend du nombre d'instances de SQL Server que vous exécutez) doit être HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft SQL Server (numéro de version). Si vous ne trouvez pas d'outils pour la version SQL Server \ 100 de HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft (qui correspondent à SQL Server 2008), vous pouvez peut-être vérifier la version 90 (SQL 2005) SQL Server \ 90 de HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft?

Avez-vous déjà vu que sur certaines versions de Windows cette ruche est différente?


Voici également un article qui explique comment obtenir les clés de registre de l'instance-aware MSDN: File Locations for Default and Named Instances of SQL Server Dans notre script d'installation que nous utilisons des valeurs de HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL.1 \ Setup, pour Exemple. où MSSQL.1 est un nom d'instance et les noms d'instance peuvent être trouvés dans HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft Noms SQL Server \ Instance

J'ai également vu plusieurs articles qui recommandent de lire à partir de HKEY_LOCAL_MACHINE \ Software \ Microsoft \ MSSQLServer \ Setup je ne travaillerai pas sur Windows XP, mais il fonctionne sur Win 2003 applic Voir sql-server-how-to-select-the-installation-path

vous avez probablement aucun moyen mais de mettre en œuvre une logique plus complexe - première vérification HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer \ Setup if not exists , vérifiez HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL.1 \ Setup ... Mais c'est ce dont vous avez besoin pour les dossiers prenant en charge les instances, tels que Binn, Data, Backup ...

Questions connexes