Aprire Database() con esempio csv/txt?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Qualcuno ha un esempio di Open Database () per ODBC su un file .csv o .txt?Posso far funzionare correttamente ODBC con Excel 2007 .xlsx ma non ho dedotto correttamente la stringa di connessione del file di testo per l'apertura di un file .csv.Sto persino facendo riferimento alla stringa del nome "DSN utente" corretta tramite Windows ODBC Data Source Administrator.Quindi mi chiedo se ho il "DriverId" sbagliato mostrato di seguito?grazie... dj
Funziona:
dt_excel=open database("DSN=Excel Files xlsx;DBQ=C:\Data.xlsx;DriverId=790;MaxBufferSize=2048;PageTimeout=5;","SELECT *","Result");
Questo non funziona:
dt_csv=open database("DSN=File di testo;DBQ=C:\Data.csv;DriverId=27;MaxBufferSize=2048;PageTimeout=5;","SELECT *","Result");
Ri: Aprire Database() con esempio csv/txt?Ciao MS, sì, ieri sera tardi finalmente l'ho capito!Sì, è esattamente quello che hai postato sopra per quanto riguarda la sintassi.Grazie per aver risposto a questo thread.Per la cronaca, ecco cosa ho imparato sull'esecuzione di un ODBC in un file di testo.In realtà non ha nulla a che fare con JSL, ma piuttosto con la convenzione/sintassi del settore richiesta per eseguire ODBC su un file di testo stesso:
un. Crea schema.ini: è necessario creare questo file per supportare il formato del file di testo.Posizionalo nella stessa directory del file di testo.Facile da creare tramite Blocco note.Google schema.ini per il file di testo ODBC per i dettagli.
b. Usa la sintassi ODBC corretta - a differenza della stringa DBQ ODBC di Excel, la stringa DBQ ODBC del file di testo non fa riferimento al percorso + nome file ma solo al percorso.Questo è ciò su cui mi sono bloccato.Quindi questo è ciò che funziona (proprio come hai postato sopra - la chiave è fare riferimento a DBQ= e non DBQ= e quindi suddividere il nome file nell'istruzione SQL FROM):
dt_csv=open database("DSN=File di testo;DBQ=C:\;","SELECT * FROM Data.csv","Risultato");
c. Piccolo dettaglio: solo una nota.Se utilizzi Win7, esistono due posizioni diverse per ODBC Manager.Uno è la posizione a 32 bit e l'altro è la posizione a 64 bit.Microsoft li ha chiamati come Groenlandia e Islanda (una specie di fuorviante).Tieni presente questo quando/se stai aggiungendo/modificando, ad esempio, il driver del file di testo ODBC.Ho sentito in Win8 che potrebbero creare questi nomi o identificatori separati in qualche modo.
Gestori ODBC Win7:
32 bit: C:\Windows\SysWOW64\odbcad32.exe
64 bit: C:\Windows\System32\odbcad32.exe
Ad ogni modo, quanto sopra a.) + b.) mi consente di utilizzare JSL in ODBC in un file di testo non elaborato.Molto bella... ...dj
Ri: Aprire Database() con esempio csv/txt?Hai provato questa variante? Ha funzionato con un file di esempio, tuttavia ho avuto problemi con i delimitatori. Ma almeno ho ottenuto una tabella con dati (incasinati) dal file di testo.
dt_csv = Apri banca dati ( "DSN=File di testo;DBQ=C:\;" , "SELEZIONA * DA Dati.csv" , "Risultato" ) ;
Ri: Aprire Database() con esempio csv/txt?Grazie Ciad.Ho provato a rimuovere la stringa "DriverId" e altre stringhe successive e ottengo lo stesso messaggio di errore.È come se non riuscisse a trovare il mio driver di file di testo (anche se sembra a posto nel gestore ODBC di Windows).Altrimenti, ho una sorta di errore di battitura/mancata corrispondenza nella mia stringa di connessione?Strano, dato che tutta questa cosa funziona alla grande in Excel (ma i miei file di dati sono csv, quindi preferirei non doverli convertire in file .xlsx per usare ODBC).
Questo non funziona:
dt_csv=apri database("DSN=File di testo;DBQ=C:\Data.csv;","SELECT *","Risultato");
Messaggio di errore che risulta:
[Microsoft][Driver di testo ODBC] '(sconosciuto)' non è un percorso valido.Assicurati che il nome del percorso sia scritto correttamente e che tu sia connesso al server su cui risiede il file.
Ri: Aprire Database() con esempio csv/txt?Non credo di aver mai fatto riferimento a "DriverId" nelle mie stringhe DSN.Funzionerà se lo lasci fuori del tutto?