[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:
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:
1 2
|
if (SetOfServers[i].ToString()=="(LOCAL)") |
n'aboutit jamais et pour cause (majuscule)
le connect n'aboutit jamais non plus :
Citation:
"[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:
1 2
|
srv.LoginSecure = true; |
avant la connection ça fonctionne, mais dans ce cas j'utilise l'autentification Windows.