Logo UGIdotNET

Discussione 'Uso di SQLDMO'

# Pubblicato il 13 mar 2003 15.12 - Rispondi
Damiano Curia
Uso di SQLDMO
Io sto usando la libreria SQLDMO in un semplice programma WinForm.
Le seguenti due righe causano l'eccezione "QueryInterface per l'interfaccia SQLDMO.NameList non riuscita".

ApplicationClass sqlApp=new SQLDMO.ApplicationClass();
sqlApp.ListAvailableSQLServers();

Ho provato anche la seguente linea:

System.Threading.Thread.CurrentThread.ApartmentState=System.Threading.ApartmentState.STA;

(e anche utilizzando MTA) ma l'eccezione rimane.

Qualcuno conosce la soluzione a questo problema?

Grazie, Damiano Curia
# Pubblicato il 13 mar 2003 15.26 - Rispondi
Davide Senatore
Re: Uso di SQLDMO
Ciao, ho provato ma non ho risontrato il problema... forse ListAvailableSQLServers produce un valore e devi assegnarlo ad una variabile... ti allego il codice...
Dim sqlApp As ApplicationClass = New SQLDMO.ApplicationClass()

Dim _nl As SQLDMO.NameList = sqlApp.ListAvailableSQLServers()
Dim _item As String
For Each _item In _nl
Debug.WriteLine(_item)
Next

Ciao!
Davide Senatore
# Pubblicato il 13 mar 2003 15.33 - Rispondi
Massimo Prota
Re: Uso di SQLDMO
A me funziona così... Non vorrei sbagliarmi ma forse non funziona con server senza almeno la sp2 di sql server

fammi sapere...

private void GetDBServerList(){
SQLDMO.NameList oNames;
SQLDMO.ApplicationClass oAppl = new SQLDMO.ApplicationClass();
oNames = (SQLDMO.NameList) oAppl.ListAvailableSQLServers();
for (ushort i=1;i<=oNames.Count;i++)
Console.WriteLine(oNames.Item(i));
}

HTH
# Pubblicato il 13 mar 2003 15.49 - Rispondi
Damiano Curia
Re: Uso di SQLDMO
Grazie ad entrambi ma la versione con assegnazione era in realtà la prima (che cmq non andava), poi avevo almeno provato a non assegnare.
Invece: come riesco a guardare la versione?
PS credo che si tratti non della versione dell'SQL Server ma del mio Enterprise Manager, dato che con quest'ultimo si determinano tutti i server della rete.
Grazie, Damiano Curia
# Pubblicato il 13 mar 2003 15.53 - Rispondi
Davide Senatore
Re: Uso di SQLDMO
La versione di SQL 2000 la leggi con:
select @@version
Quella degli strumenti Client e quindi di SQL-DMO la leggi sulla DLL...
Non capisco comunque come mai non ti funziona l'enumerazione dei server.
# Pubblicato il 14 mar 2003 11.05 - Rispondi
Damiano Curia
Re: Uso di SQLDMO
Ho installato la sp3 di sql2000 e ora funziona!
Cmq anche io non ho capito, non mi funzionava l'enumerazione dei server ma sì quella dei database in un server. Cmq ora va tutto.
Grazie, Damiano Curia

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185