Newsgroup: it.comp.lang.visual-basic
Titolo: Visual Basic e SQL-DMO (lunghetto)

Ciao a tutti, spero che il mio post non sia OT, nel qual caso chiedo 
anticipatamente scusa.
Il mio problema è questo.
Sto facendo un programmino per il backup/restore di database 
sqlserver/msde che dovrà essere incluso in un'altra applicazione.
il codice che ho scritto per il backup è:
<codice>
Dim WithEvents oBackupEvent As SQLDMO.Backup
Private Sub cmdEsegui_Click()   
    Dim oBackup As New SQLDMO.Backup
    Dim oSQLServer As New SQLDMO.SQLServer
 
   Set oBackupEvent = oBackup
 
    'completo
    oBackup.Action = SQLDMOBackup_Database
 
    oBackup.Database = "MYDATABASE"
 
    oSQLServer.Connect "nomesever", "user id", "password"
 
    oBackup.Files = "nomefile.bak"    
    oBackup.BackupSetName = "MYDATABASE_Full"
    oBackup.BackupSetDescription = "Backup completo MY DATABASE."
 
 
    ''' Sovrascrive il backup esistente, con false avrebbe accodato.
    oBackup.Initialize = True
    oBackup.PercentCompleteNotification = 1
 
    oBackup.SQLBackup oSQLServer
 
    oSQLServer.Disconnect
 
    Set oBackup = Nothing
    Set oSQLServer = Nothing
    Set oBackupEvent = Nothing
End Sub
L'evento scatenato 
Private Sub oBackupEvent_PercentComplete(ByVal Message As String, ByVal 
Percent As Long)
       pgbComplete.Value = pgbComplete.Value + 
oBackupEvent.PercentCompleteNotification
        lblPercentuale.Caption = pgbComplete.Value & " %"
 
        DoEvents
End Sub
</codice>
Il problema è che quando arriva alla fine del backup e mi viene 
restituito l'errore [SQL-DMO] EXCEPITION_ACCESS_VIOLATION.
Il backup l'ha però eseguito correttamente.
Questo problema non si presenta se invece disattivo l'evento.
Avete qualche idea in merito?
Ho provato a cercare su google e su msdn ma non ho trovato nulla di 
simile.
Altra domanda, come mai il valore "Percent" è sempre zero?
Grazie a tutti e scusate la lunghezza del post.
Stefano
Inviato da 
www.mynewsgate.net

sqlserver/msde che dovrà essere incluso in un'altra applicazione.
La domanda nasce spontanea:
Perche' non demandare tutto allo schedulatore di sql server o, al
massimo, non invocare, tramine una banale Execute di un Command, una
stored procedure dedicata?
-- 
ciao, hal

 ha scritto:

La risposta è altrettanto spontanea:
Perchè in questo modo ho un controllo maggiore, perchè con l'evento 
generato fornisco un feedback all'utente e quando il backup è di quasi 
600MB ed impiega alcune decine di secondi per completare l'operazione, 
penso sia fondamentale.
ciao
Stefano
Inviato da 
www.mynewsgate.net

generato fornisco un feedback all'utente
Perche' fornire un feedback all'utente? IMHO l'utente non dovrebbe
neanche sapere quando e come viene fatto il backup.
A meno che tu non voglia scrivere un clone dell' Enterprise Manager,
in tal caso ti do ragione.
-- 
ciao, hal

 Altra domanda, come mai il valore "Percent" è sempre zero?
Ho risolto, il "problema" era che deve necessariamente esistere 
l'evento "Complete" anche se al suo interno non avviene nulla.
Attenzione. Deve essere presente almeno una riga di codice commentata (!) 
Private Sub oBackupEvent_Complete(ByVal Message As String)
    'msgbox message
End Sub
Ciao 
Stefano
Inviato da 
www.mynewsgate.net

 ha scritto:

Il backup (nel mio caso) è un atto cosciente effettuato dall'utente.
Quindi un feedback è necessario (imho nel mio caso).


 Altra domanda, come mai il valore "Percent" è sempre zero?
se usi la versione italiana di SQL Server 2000 questo e' un bug non risolto
nei service pack.. non ricordo se nella versione reteail fuznionasse
correttamente...
se vedi, anche il parametro Message non e' completo...
=;-((
saluti
-- 
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtm
 
http://italy.mvps.org
DbaMgr2k ver 0.5.0  -  DbaMgr ver 0.51.1
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

 saluti
Ciao Andrea,
grazie per la risposta. Me ne sono accorto anch'io, in effetti è una 
situazione un po' strana, anche perchè (come puoi vedere dal mio post 
precedente) se implemento l'evento Complete anche con solo una riga di 
codice commentata funziona tutto (sic).
Per quanto riguarda il parametro Percent, io uso la versione Italiana di 
SqlServer 2000 Developer edition, proverò in una versione inglese e nella 
versione non develop.
Grazie ancora per la risposta.


 versione non develop.
io ho la versione inglese Dev e funziona corettamente... non mi risulta che
le altre versioni localizzate in inglese abbiano lo stesso problema...
aggiungo, anche se non c'entra molto, che la versione italiana di SQL Server
2000 sp3 e sp3a ha almeno un altro problema di localizzazione legato
all'agente SQL Server relativamente all'esecuzione di Job... vedi
sull'argomento
http://www.google.it/groups?hl=it&lr=&ie=UTF-8&oe=UTF-8&threadm=Xns93B5A5D55EA14sanbiz%40207.46.248.16&rnum=14&prev=/groups%3Fie%3DUTF-8%26oe%3DUTF-8%26as_ugroup%3Dmicrosoft.public.it.sql%26as_uauthors%3Dsandro%26lr%3D%26num%3D100%26hl%3Dit
e' stato allora, e con l'uscita dell'edizione Dev a $ 49.00 che ho optato
per utilizzare la versione inglese.. =;-)
saluti
-- 
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtm
 
http://italy.mvps.org
DbaMgr2k ver 0.5.0  -  DbaMgr ver 0.51.1
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply
saluti

 Attenzione. Deve essere presente almeno una riga di codice commentata (!)
Naaaaaaaaa..... :-(
Che Merd@!!!
    Ciao
        Allanon
-- 
- SPAMKILLER
 lasciate il NOSPAM nell'indirizzo: 
itlangv...@michele.sytes.net
 e lasciate la parola SPAMKILLER nel corpo dell'email

 Andrea Montanari (Microsoft MVP - SQL Server)
Uh???????!!!!!!!!
Non lo sapevo ancora!!!
Raramente riconoscimento fu piů azzeccato!!!
Quante persone utilizzano il tuo OTTIMO DbaMgr(2K)?
Complimenti & felicitazioni seppure in ritardo!!! :-)


 Non lo sapevo ancora!!!
http://makeashorterlink.com/?Y2D042017

 
http://makeashorterlink.com/?Y2D042017
Ho sbagliato, no, merita anche questo (forse persino di piů), ma non trovo
piů il post relativo a MVP...


grazie.... me.forecolor = VbRed =;-)
dal 12/11/2002, DbaMgr e' stato scaricato 2464 volte, mentre DbaMgr2k 8376
volte... non so pero' quanti lo usino correntemente =;-)
io lo uso... =;-))))    suggerimenti e feedback sono sempre benvenuti.. a
breve il rilascio con che include Object Browser nella definizione degli
statements T-SQL....
saluti
-- 
Andrea Montanari (Microsoft MVP - SQL Server)
