Newsgroup: it.comp.lang.visual-basic
Titolo: msado25.tlb su Win2000

Ho installato un programma presso un cliente.
Sui client W98 e W95 funziona bene.
Su un cliente WXP anche.
Su 2 cliente W2000 e un WXP no funziona, xchè non 'il componente ActiveX non
può creare l'oggetto'
Il programma si connete ad un database SQL Server con gli oggetti ADO.
Ho provato, con Access 97, a creare un modulo ed una funzione.
Nei riferimenti ho selezionato 'Microsoft ActiveX Data Objects 2.5'
(msado25.tlb)
Sub a()
Dim cn as ADODB.Connection
Set cn = New ADODB.Connection
End Sub
Quando arriva alla Set... dice che 'la classe non supporta l'interfaccia'
Non so + che pesci pigliare...
Grazie a chiunque riesca a darmi qualche dritta...
Ste
--------------------------------
Inviato via 
http://usenet.libero.it

Quando arriva alla Set... dice che 'la classe non supporta l'interfaccia'
Strano, dovrebbe funzionare.
Se porti tutto alla versione 2.7 di ADO che succede?
-- 
ciao, hal

 Non so + che pesci pigliare...
Beh, non so perchè tu abbia scelto di distribuire un tlb anzichè una dll.
Avrai le tue ragioni.
Però ovviamente se sulla macchina target non ci sono le dll a cui la tlb fa
riferimento...
Di solito si distribuisce la dll, e il problema non c'è.
Per non parlare del fatto che sul client occorra MDAC, e che se usi Access
occorre Jet.
Ma queste sono cose postate almeno un milione di volte.
Ciao
Alberto
--
E non so se avrò gli amici a farmi il coro,
o se avrò soltanto volti sconosciuti,
canterò le mie canzoni a tutti loro
e alla fine della strada
potrò dire che i miei giorni li ho vissuti...

 wrote in message
v5et8vsoeg1d4s3m6...@4ax.com...


 precedenti succede la stessa cosa. L'unica che funziona è la 1.5...
?
Ma in che sistema hai ADO1.5 e ADO2.7 entrambi DLL?
L'avrai già fatto, ma verifica: vai su MSADO15.DLL (quella che dici che
funziona), tasto destro, proprietà, versione.
Non è che c'è scritto 2.70 o 2.71?
Che non vada su W2000 o su WXP, nonostante l'installazione di MDAC2.7 o
meglio MDAC2.71, è veramente strano.
Ciao
Alberto
--
E non so se avrò gli amici a farmi il coro,
o se avrò soltanto volti sconosciuti,
canterò le mie canzoni a tutti loro
e alla fine della strada
potrò dire che i miei giorni li ho vissuti...

 ha
scritto:

--------------------------------
Inviato via 
http://usenet.libero.it

 conoscere le dll a cui si riferisce il tlb?
Cosa te ne importa?
Tanto MDAC va installato comunque, e lì dentro ci sono tutte.
Ciao
Alberto
--
E non so se avrò gli amici a farmi il coro,
o se avrò soltanto volti sconosciuti,
canterò le mie canzoni a tutti loro
e alla fine della strada
potrò dire che i miei giorni li ho vissuti...


--------------------------------
Inviato via 
http://usenet.libero.it


--------------------------------
Inviato via 
http://usenet.libero.it

 adUseServer va.
No, Ste:
Prima ipotesi: Hai casini sulla macchina.
Seconda ipotesi: Il codice è errato.


Slle macchine con W98 e W95 funziona bene. Su una macchina XP funziona bene.
Su un'altra macchina XP e due W2000 non ne vuole sapere.
Quindi penso che il codice vada bene, posso anche avere dei casini su una
macchina, ma su tre con SO diversi?
Cmq ecco i codice:
Sub a()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
    Set cn = New ADODB.Connection
    cn.Open "DSN=ProduzioneTest;User ID=sa"
 
    Set rs = New ADODB.Recordset
    rs.PageSize = 20
    rs.CacheSize = 1
    rs.MaxRecords = 0
    rs.CursorLocation = adUseClient
    rs.CursorType = adOpenForwardOnly
    rs.LockType = adLockReadOnly
    Set rs.ActiveConnection = cn
    rs.Source = "SELECT * FROM Tipo_Prodotti WHERE Codice_Società = '1' ORDER BY
Priorità,Tipo"
    rs.Open
End Sub


     rs.CursorType = adOpenForwardOnly
Questa è curiosa...
la guida di ADO sostiene che i cursori lato client possono essere aperti solo
come adOpenStatic, se viene chiesto un cursore diverso viene aperto comunque
static, senza segnalare errore.
Non è che è cambiato qualcosa, nel frattempo?
(o forse ho capito male qualcosa io....)
--
Salutoni
Sergio

 una macchina, ma su tre con SO diversi?
Tutti gli utenti sono amministratori del server su cui gira Sql-Server?



--------------------------------
Inviato via 
http://usenet.libero.it

 bisogno di particolari regimi di sicurezza.
Appunto.
Proprio per questo ti chiedo se tutti gli utenti delle varie macchine sono
Administrator della macchina su cui gira Sql-Server.
Però se per avere dei dettagli bisogna chiederli due volte, non agevoli il
compito a chi ti vuole aiutare.
Ciao
Alberto



Scusa, non mi era venuto in mente questo particolare.
Cmq ecco tutti i dettagli che posso fornire:
L'applicativo è sritto in VB6. Accede ad un database SQL Server (tutti i
client con User 'sa' e pwd nulla), utilizzando una cnnessione ADO (e tutti
gli oggetti che ADO espone, come i Recordset).
Inizialmente usavo 'Microsoft ActiveX Data Objects 2.5' (msado25.tlb),
selezionato dai riferimenti dati da Visual Basic.
Installato su macchine W98 e W95 (e un XP) funziona regolarmente.
Su una macchina XP e due W2000 non va: non riesce ad inizializzare l'oggetto
connection (la classe non supporta l'interfaccia prevista)
Ho provato a mettere l'Mdac_TYP 2.6, e ho utilizzato 'Microsoft ActiveX Data
Objects 2.6' (msado15.dll). Ora inizializza bene la connessione, la apre ma
non usa correttamente i recordset. In particolare se lo apro con la
proprietà CursorLocation=adUseClient (come fanno quasi tutti gli oggetti
ADODC che ho messo nelle form) mi dice 'Parametro non corretto'
Se provo ad aprirlo con CursorLocation=adUseServer allora funziona. Però non
posso cambiare tutte le form! E mi sembra strano che dal 2.6 in poi non
supporti più i cursori lato server.
...ho anche provato e eseguire l'MDAC_TYP 2.7, ma non cambia nulla! sigh!
Non mi vengono in mente altri dettaglida fornire, cmq... basta chiedere se
serve dell'altro.
Grazie a tutti quelli che mi hanno risposto cercando di aiutarmi,
Ste


 Bye, Ste
Ma il wizard del pacchetto di installazione non ti mette tutti i file
necessari? comprese le dll necessarie alla tua tlb?



Ho delle news. Su una macchina w2000 ora funziona (dopo l'MDAC_TYP 2.6) e
che ho utilizzato la Microsoft AcriveX Data Objects 2.6
Domattina provo sul'altra macchina w2000.
Su quella XP ormai ho perso le speranze. Pure dopo l'MDAC_TYP 2.7 non vuole
saperne.
Grazie a tutti cmq,
Ste


 necessari? comprese le dll necessarie alla tua tlb?
No. Le tlb e le olb vengono distribuite così come sono, senza dipendenze.
Il binding avviene a runtime sul target (e poi dicono che l'informatica usa
terminologia inglese...)
Ciao
Alberto
--
E non so se avrò gli amici a farmi il coro,
o se avrò soltanto volti sconosciuti,
canterò le mie canzoni a tutti loro
e alla fine della strada
potrò dire che i miei giorni li ho vissuti...