Ouvrir Database() avec un exemple csv/txt ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Quelqu'un a-t-il un exemple Open Database() pour ODBC dans un fichier .csv ou .txt ?Je peux faire fonctionner ODBC correctement avec Excel 2007 .xlsx mais je n'ai pas déduit correctement la chaîne de connexion du fichier texte pour ouvrir un fichier .csv.Je fais même référence à la chaîne de nom "User DSN" correcte via l'administrateur de source de données ODBC Windows.Je me demande donc si j'ai le mauvais "DriverId" affiché ci-dessous ?merci... dj
Cela marche:
dt_excel=ouvrir la base de données("DSN=Fichiers Excel xlsx;DBQ=C:\Data.xlsx;DriverId=790;MaxBufferSize=2048;PageTimeout=5;","SELECT *","Résultat");
Cela ne fonctionne pas :
dt_csv=open database("DSN=Fichier Texte;DBQ=C:\Data.csv;DriverId=27;MaxBufferSize=2048;PageTimeout=5;","SELECT *","Résultat");
Re : Ouvrir la base de données () avec un exemple csv/txt ?Salut MS, oui, tard hier soir, j'ai enfin compris !Oui, c'est exactement ce que vous avez posté ci-dessus en termes de syntaxe.Merci d'avoir répondu à ce fil.Pour mémoire, voici ce que j'ai appris sur la création d'un ODBC dans un fichier texte.Cela n'a vraiment rien à voir avec JSL, mais plutôt la convention/syntaxe de l'industrie requise pour faire ODBC dans un fichier texte lui-même :
un. Créer schema.ini - doit créer ce fichier pour prendre en charge le format de fichier texte.Placez-le dans le même répertoire que le fichier texte.Facile à créer via le Bloc-notes.Google schema.ini pour le fichier texte ODBC pour plus de détails.
b. Utilisez la syntaxe ODBC correcte - contrairement à la chaîne DBQ ODBC d'Excel, la chaîne DBQ ODBC du fichier texte ne fait pas référence au chemin + nom de fichier, mais uniquement au chemin.C'est à ça que je me suis accroché.C'est donc ce qui fonctionne (tout comme vous l'avez posté ci-dessus - la clé consiste à référencer DBQ= et non DBQ=, puis à diviser le nom de fichier dans l'instruction SQL FROM):
dt_csv=open database("DSN=Fichier Texte;DBQ=C:\;","SELECT * FROM Data.csv","Résultat");
c. Petit détail - juste une note.Si vous utilisez Win7, il existe deux emplacements différents pour le gestionnaire ODBC.L'un est l'emplacement 32 bits et l'autre est l'emplacement 64 bits.Microsoft les a nommés comme le Groenland et l'Islande (sorte de tromperie).Soyez simplement conscient de cela lorsque/si vous ajoutez/modifiez, par exemple, le pilote de fichier texte ODBC.J'entends dans Win8 qu'ils peuvent créer ces noms ou identifiants séparés d'une manière ou d'une autre.
Gestionnaires ODBC Win7 :
32 bits : C:\Windows\SysWOW64\odbcad32.exe
64 bits : C:\Windows\System32\odbcad32.exe
Quoi qu'il en soit, ce qui précède a.) + b.) me permet d'utiliser JSL vers ODBC dans un fichier texte brut.Très beau... ... déjà
Re : Ouvrir la base de données () avec un exemple csv/txt ?Avez-vous essayé cette variante ? Cela a fonctionné avec un exemple de fichier, mais j'ai eu des problèmes avec les délimiteurs. Mais j'ai au moins obtenu une table avec des données (fâchées) du fichier texte.
dt_csv = Ouvrir la base de données ( "DSN=Fichier Texte;DBQ=C:\;" , "SELECT * FROM Data.csv" , "Résultat" ) ;
Re : Ouvrir la base de données () avec un exemple csv/txt ?Merci Tchad.J'ai essayé de supprimer la chaîne "DriverId" et les autres chaînes suivantes et j'obtiens le même message d'erreur.C'est comme s'il ne pouvait pas trouver mon pilote de fichier texte (même s'il semble correct dans le gestionnaire ODBC de Windows).Sinon, j'ai une sorte de faute de frappe/incompatibilité dans ma chaîne de connexion ?Bizarre, car tout cela fonctionne très bien dans Excel (mais mes fichiers de données sont au format csv, je préfère donc ne pas avoir à les convertir en fichiers .xlsx pour utiliser ODBC).
Cela ne fonctionne pas :
dt_csv=ouvrir la base de données("DSN=Fichier Texte;DBQ=C:\Data.csv;","SELECT *","Résultat");
Message d'erreur résultant :
[Microsoft][ODBC Text Driver] '(inconnu)' n'est pas un chemin valide.Assurez-vous que le nom du chemin est correctement orthographié et que vous êtes connecté au serveur sur lequel réside le fichier.
Re : Ouvrir la base de données () avec un exemple csv/txt ?Je ne pense pas avoir déjà fait référence à "DriverId" dans mes chaînes DSN.Cela fonctionnera-t-il si vous le laissez complètement?