IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[MSDE - SQLDMO] Recherche d'un serveur pour detachement DB


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut [MSDE - SQLDMO] Recherche d'un serveur pour detachement DB
    J'utilise une DB MSDE tournat sur une instance MSDE par defaut.
    elle est identifié par (LOCAL) sur mon Entreprise Manager.
    sur une application C#.NET je souhaite sauvegarder ma base de données.
    J'ai donc instancié un objet SQLDMO, pour pouvoir utiliser les DetachDB, AttachDB.
    Mais je rencontre pas mal de problèmes :
    1 - la SQLDMO.NameList retrournée par ListAvailableSQLServers contient (local) (en minuscule).
    2 -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    			object[] SetOfServers = new object[NB_SRV_MAX];
    			object[] SetOfDatabases = new object[NB_DB_MAX];
    			SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers(); 
    			for(int i=0 ; i<sqlServers.Count ; i++) 
    			{ 
    				object srv = sqlServers.Item(i+1); 
    				if(srv != null) 
    				{ 
    					SetOfServers[i] = srv;                         
    				} 
    			}
    			for (int i = 0 ; i < SetOfServers.Length ; i++)
    			{
    				if (SetOfServers[i].ToString()=="(LOCAL)")
    				{
    					object[] SetOfDatabases = new object[NB_DB_MAX];
    					try
    					{
    						MyServer.Connect(MyServer, "sa", "xxxx");
    					}
    					catch (System.Runtime.InteropServices.COMException e)
    					{
    					}
    					int i = 0;
    					foreach(SQLDMO.Database db in srv.Databases) 
    					{ 
    						if(db.Name!=null)
    						{
    							SetOfDatabases[i]= db;
    						}
    						i++;
    					}
    					return SetOfDatabases;
    				}
    			}
    le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (SetOfServers[i].ToString()=="(LOCAL)")
    n'aboutit jamais et pour cause (majuscule)

    le connect n'aboutit jamais non plus :
    "[Microsoft][ODBC SQL Server Driver][SQL Server]Échec de la connexion de l'utilisateur 'sa'. Raison : Non associé à une connexion sécurisée SQL Server."
    je précise que je ne fonctionne pas en autentification Windows.
    en effet si je rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    srv.LoginSecure = true;
    avant la connection ça fonctionne, mais dans ce cas j'utilise l'autentification Windows.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut
    correction : mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    			object[] SetOfServers = new object[NB_SRV_MAX]; 
    			object[] SetOfDatabases = new object[NB_DB_MAX]; 
    			SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers(); 
    			for(int i=0 ; i<sqlServers.Count ; i++) 
    			{ 
    				object srv = sqlServers.Item(i+1); 
    				if(srv != null) 
    				{ 
    					SetOfServers[i] = srv;                          
    				} 
    			} 
    			for (int i = 0 ; i < SetOfServers.Length ; i++) 
    			{ 
    				if (SetOfServers[i].ToString()=="(LOCAL)") 
    				{ 
    					object[] SetOfDatabases = new object[NB_DB_MAX]; 
    					SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();                 
    					try 
    					{ 
    						srv.Connect(MyServer, "sa", "xxxx"); 
    					} 
    					catch (System.Runtime.InteropServices.COMException e) 
    					{ 
    					} 
    					int i = 0; 
    					foreach(SQLDMO.Database db in srv.Databases) 
    					{ 
    						if(db.Name!=null) 
    						{ 
    							SetOfDatabases[i]= db; 
    						} 
    						i++; 
    					} 
    					return SetOfDatabases; 
    				} 
    			}

Discussions similaires

  1. Recherche un script code pour afficher la charge serveur
    Par kevinf dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/06/2006, 21h01
  2. Configuration des disques sur un serveur pour Oracle
    Par hkhan dans le forum Administration
    Réponses: 5
    Dernier message: 29/09/2004, 12h57
  3. Recherche un framework RAD pour Eclipse
    Par Almex dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 08/10/2003, 12h24
  4. [windows] recherche outils coloration syntax. pour -> htm
    Par hpfx dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 02/10/2003, 01h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo