PDA

View Full Version : [VB.NET] DB access e installazione con innosetup


jackk87
23-09-2009, 22:31
Buonasera a tutti gli utenti del forum,
ho creato un programma in vb.net che salva i dati in un database access e ho creato l'installazione con inno setup controllando anche se il framework è stato installato se nn c'è chiede se lo si vuole installare tutto questo funziona perfettamente. All'avvio del programma ho avuto un errore e alla fine ho scoperto che installando microsoft access ho risolto il problema.
Mi chiedo installando access allora ho installato delle librerie che servono al prog di interagire con il DB. Come faccio a integrare il tutto nell'installazione con inno setup come faccio con il framework?o per forza devo installare access?
spero che qualcuno mi aiuti saluti
grazie a tutti in anticipo :help:

MarcoGG
23-09-2009, 22:54
1. Che tipo di errore era ?

2. Nell'applicazione VB ti colleghi al DB con ADO.NET o usi ADODB ?

jackk87
24-09-2009, 21:57
1. Che tipo di errore era ?

2. Nell'applicazione VB ti colleghi al DB con ADO.NET o usi ADODB ?

ciao marco allora uso oledb questa è la connessione:
Public Const ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & PercorsoDB & ";Jet OLEDB:Database Password=" & PassDB

allora sul pc dove ho installato visual studio non ho problemi, ho problemi su un'altro pc e questo problema scompare installando microsoft access cmq l'errore è un'errore generico ma da quanto ho capito è come se non riesce a connettersi al database spero che sono stato chiaro.
grazie marco aspetto altre risposte grazie :help:

MarcoGG
24-09-2009, 22:18
Potrebbe essere un problema di MDAC ( Microsoft Data Access Components ). Scarica e installa, vediamo se risolve... :

http://www.microsoft.com/downloadS/details.aspx?familyid=6C050FE3-C795-4B7D-B037-185D0506396C&displaylang=it

Ma sul PC di destinazione che S.O. c'è ?

jackk87
24-09-2009, 22:45
c'è windows xp professional sp2 cmq provo e ti faccio sapere grazie:cool:

MarcoGG
25-09-2009, 10:05
c'è windows xp professional sp2 cmq provo e ti faccio sapere grazie:cool:

Molto strano che un XP SP2 ti dia quel problema. Ricordo che ho fatto N prove su macchina virtuale, e in teoria basterebbe un Win2000 SP4 per far girare un'applicazione VB + .mdb, senza che Access sia installato, e senza dover per forza aggiornare le MDAC... :mbe:

Cmq, riguardando quella CN :
Public Const ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & PercorsoDB & ";Jet OLEDB:Database Password=" & PassDB
non so come tu riesca a compilare. Dichiari una costante, Const, a cui poi passi 2 variabili... :nonsifa:

jackk87
25-09-2009, 20:57
Molto strano che un XP SP2 ti dia quel problema. Ricordo che ho fatto N prove su macchina virtuale, e in teoria basterebbe un Win2000 SP4 per far girare un'applicazione VB + .mdb, senza che Access sia installato, e senza dover per forza aggiornare le MDAC... :mbe:

Cmq, riguardando quella CN :
Public Const ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & PercorsoDB & ";Jet OLEDB:Database Password=" & PassDB
non so come tu riesca a compilare. Dichiari una costante, Const, a cui poi passi 2 variabili... :nonsifa:

Ciao marco allora anche io ho fatto molte prove su macchine virtuali e non mi era mai capitato per questo ho scritto qui tanto sicuramente avevi risposto tu hihi :D cmq quelle nn sono due variabili ma sono altre due constanti che tutte queste le ho inserite in un modulo in modo che non le devo scrivere ogni volta.

MarcoGG
25-09-2009, 22:18
cmq quelle nn sono due variabili ma sono altre due constanti che tutte queste le ho inserite in un modulo in modo che non le devo scrivere ogni volta.

Ah ok.
Problema strano, al momento non ho una risposta pronta, ma sono curioso di saperne la causa. Intanto prova anche le MDAC, ovviamente senza installare Access...
Comunque ti confermo : io con un XP Pro SP2 appena installato ( S.O. secco ), solo con FW2.0 ( VB 2005 ) o FW3.5 ( VB 2008 ) non ho alcun problema a gestire files .mdb ( Access 2000 / 2003 ) senza Access installato, e senza aggiornamenti MDAC.

jackk87
26-09-2009, 13:06
Ciao Marco,
allora il sistema operativo su quale ho provato è windows xp media center e se provo ad installare l'aggiornamento MDAC mi dice che non è compatibile con questo sistema operativo. Io ho sempre usato questa connessione per i DB tu mi consiglio qualche altro metodo per connettermi a database access per non avere questi tipi di problemi?visto che ormai access 2003 non si usa più diciamo che ormai installiamo office 2007

MarcoGG
26-09-2009, 14:19
Ciao Marco,
allora il sistema operativo su quale ho provato è windows xp media center e se provo ad installare l'aggiornamento MDAC mi dice che non è compatibile con questo sistema operativo. Io ho sempre usato questa connessione per i DB tu mi consiglio qualche altro metodo per connettermi a database access per non avere questi tipi di problemi?visto che ormai access 2003 non si usa più diciamo che ormai installiamo office 2007

Mmm, Media Center e Access 2007. Non uso nè l'uno nè l'altro...
L'unico consiglio al momento è di metter su XP Pro SP2, quello "vero".

jackk87
26-09-2009, 17:59
Mmm, Media Center e Access 2007. Non uso nè l'uno nè l'altro...
L'unico consiglio al momento è di metter su XP Pro SP2, quello "vero".

Ho capito toglimi una curiosità tu in che gli crei i DB e che connessione usi in VB.net? cioè oledb ado ado.net....

MarcoGG
27-09-2009, 08:21
Ho capito toglimi una curiosità tu in che gli crei i DB e che connessione usi in VB.net? cioè oledb ado ado.net....

Non creo mai soluzioni 100% Access, a meno che non si tratti di DB molto semplici. La mia preferenza, sempre se devo usare Access, va ancora al 2003, dal momento che, in una applicazione-tipo VB-Access il file .mdb lo tratto come mero serbatoio-dati.
Il vero salto di qualità è passare da Excel 2003 a 2007, dove sono state introdotte novità tangibili, prima fra tutte, la dimensione dei Fogli di lavoro.
Le novità di Access 2007 si riducono tutte ad un uso stand-alone, non è certo migliorato il supporto alla multi-utenza, e inoltre un file .accdb presenta ancora lo stesso limite dei 2 GB, come un qualsiasi .mdb...

Infine, usando VB.NET con Access, ovviamente al 99% prediligo ADO.NET, quindi spacename OleDb... ;)

jackk87
27-09-2009, 11:06
Non creo mai soluzioni 100% Access, a meno che non si tratti di DB molto semplici. La mia preferenza, sempre se devo usare Access, va ancora al 2003, dal momento che, in una applicazione-tipo VB-Access il file .mdb lo tratto come mero serbatoio-dati.
Il vero salto di qualità è passare da Excel 2003 a 2007, dove sono state introdotte novità tangibili, prima fra tutte, la dimensione dei Fogli di lavoro.
Le novità di Access 2007 si riducono tutte ad un uso stand-alone, non è certo migliorato il supporto alla multi-utenza, e inoltre un file .accdb presenta ancora lo stesso limite dei 2 GB, come un qualsiasi .mdb...

Infine, usando VB.NET con Access, ovviamente al 99% prediligo ADO.NET, quindi spacename OleDb... ;)

Ok Marco sei stato super chiaro e rimani sempre un grande :D