Newsgroup: it.comp.lang.visual-basic
Titolo: Lettura di files *.names (ossia DBF)

Vorrei leggere dei files del tipo PINCO.NAMES (a cui sono abbinati
files del tipo PINCO.TYPES) che sono in realtà, in tutto e del tutto,
del files DBF.
Con ADO riesco benissimo a farlo, a patto però che rinomini il file
PINCO.NAMES in PINCO.DBF.
Ecco la stringa di connessione che utilizzo :
strCnn = "Driver={Microsoft dBASE Driver
(*.dbf)};DriverID=277;Dbq=C:\OziExplorer\Name Search;"
Tutto questo è un po' scomodo. Pensate che ci sia un'alternativa (ad
esempio una diversa stringa di connessione) ?
Grazie per l'attenzione.
Marco


Credo che si possa fare esplicitando il parametro Extensions nella connection
string. Ad es.:
strCnn = "Driver={Microsoft dBASE Driver
(*.dbf)};DriverID=277;Dbq=C:\OziExplorer\Name Search;Extensions=dbf,names"
Bye
Raf


Grazie ma non funziona, nemmeno :
1) aggiungendo altri parametri tipo Extended Properties;
2) giocando coi ; finali della Connection String e con gli apostrofi che 
incorniciano dbase IV;
3) rinominando il file names secondo la sintassi DOS;
Inutile dire che ho consultato a fondo Google (almeno credo). Il problema 
può essere riassunto come
"How open dbase file with not DBF extension ?"
  strCnn = "Driver={Microsoft dBASE Driver 
(*.dbf)};DriverID=277;Dbq=C:\OziExplorer\Name 
Search;Extensions=dbf,names;Extended Properties='dBase IV';"
Qualche altra idea ?
Grazie ancora.
Marco

 "How open dbase file with not DBF extension ?"
Eh, quasi. Prova con "open db files without dbf extension".
Il primo risultato su Google gruppi è questo, vedi se ti aiuta:
http://groups.google.it/group/comp.lang.basic.visual.database/msg/22e45413c94c31c2
Altrimenti tenta con qualche altra variante dei termini di ricerca.
Io sono partito da qui:
http://groups.google.it/groups/search?q=open+db+files+without+dbf+extension
Una domanda (un po' scema, lo so :-) ) ma proprio non puoi copiare
e rinominare i file ?
Bye, G.

 e rinominare i file ?
Il primo suggerimento utilizza DAO ed io vorrei continuare ad usare ADO.
Il secondo l'ho già scorso praticamente tutto e non ho trovato indicazioni
utili.
Alla tua domanda rispondo "sì, è proprio quello che faccio adesso".
In pratica :
1) copio il file names in dbf
2) apro il file dbf
3) aggiungo dei record
4) quando esco dal programma copio il file names in dbf.
Funziona, ma non è una soluzione "elegante"; preferirei accedere
direttamente al file dbf anche perchè se il programma abortisce tra il punto
3 ed il punto 4 viene perso tutto il lavoro.
Grazie e ciao

 3 ed il punto 4 viene perso tutto il lavoro.
E rinominarlo ? Così, alla peggio, ti trovi il file con l'estensione sbagliata,
ma non perdi niente, e puoi risolvere automaticamente il problema alla
riapertura del prog.
Bye, G.

"Paperino" <non...@lo.dico> ha scritto nel messaggio 
news:e03ui2$1sbo$1...@stargate1.inet.it...

Oppure (e mi tanto che è quello che farò) ogni qualvolta modifico il file 
dbf  ne faccio una copia a la rinomino in names; poi all'uscita del 
programma cancello il file dbf.
Resta il rimpianto (sembra una canzone anni 60) di non aver trovato la 
*soluzione*.
Grazie.
Marco 

 ha scritto nel messaggio
news:442555d3$0$29727$4faf...@reader2.news.tin.it...

Potrebbe essere che l'estensione .names non è standard 8.3...
Hai provato ad usare il driver Jet anziché ODBC?
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\OziExplorer\Name
Search;Extended Properties=dBASE IV;"
Inoltre io darei un'occhiata alla chiave di registro
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ISAM Formats\dBase IV
Mi pare di vedere un valore binary "SupportsLongNames" che potrebbe aiutare.
Inoltre mi pare si possa aggiungere un valore string "Extensions" in cui
specificare le estensioni di file riconosciute dal driver.
Per lo meno per il Text Driver questo funziona, non so però per gli altri
tipi di ISAM.
Non avendo mai lavorato con file di dBase (da VB) non mi viene in mente
nient'altro.
Ciao
Raf

 Marco
Good news, Marco:
*la soluzione* è questa:
1) Scarica ed installa il driver di Visual FoxPro
http://msdn.microsoft.com/vfoxpro/downloads/updates/default.aspx
2) Usa questa connection string:
"Provider=VFPOLEDB.1;Data SourceC:\OziExplorer\Name Search;Persist Security
Info=False;"
Ciao
Raf


Niente. Il driver di FoxPro (che sulla carta dovrebbe consentire di aprire i 
file dbf) non produce i risultati sperati.
La soluzione meno "elegante" è quella che funziona meglio e terrò quella 
che, in tutta sincerità, non mi ha dato inconvenienti di sorta.
Grazie ancora
Marco

 Marco
Prego e alla prossima
Bye
Raf