2010-09-15 25 views
5

J'utilise le pilote ODBC SQLite3 comme ma chaîne de connexion,comment puis-je récupérer des données de SQLite à VB6?

Dim conn As ADODB.Connection 
Set conn = New ADODB.Connection 
Dim rs As New ADODB.Recordset 

Set conn = New ADODB.Connection 
conn.ConnectionString = "DRIVER=SQLite3 ODBC Driver;Database=test.db;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;" 

conn.Open 

rs.Open "select * from Artists", conn, adOpenDynamic, adLockOptimistic 
MsgBox rs.Fields(0) 
+0

i toujours reçu cette erreur: Erreur d'exécution « -2147217887 (800e21) ': Pilote ODBC ne prend pas en charge les propriétés demandées – illumi

+2

Si l'erreur indique "Pilote ODBC ne prend pas en charge les propriétés demandées" Je suppose que le pilote ODBC ne prend pas en charge les propriétés demandées ... – vulkanino

Répondre

3

Reportez-vous ici pour les propriétés de chaîne de connexion: http://www.connectionstrings.com/sqlite

Vous devez également spécifier la version (3 ou 2).

Edit: essayez de supprimer: noms longs = 0; Délai d'attente = 1000; NoTXN = 0; SyncPragma = NORMAL; StepAPI = 0 Et ajoutez la version: version = 3 Si cela fonctionne, essayez d'ajouter une propriété à un temps jusqu'à ce qu'il ne fonctionne plus, pour identifier la propriété brisée.

+0

J'ai déjà parcouru ce site, était ma chaîne de connexion est-elle incorrecte? S'il vous plaît aider., j'apprécie votre réponse. – illumi

+1

ouais ça marche! et je teste également chaque propriété jusqu'à ce qu'elle devienne: "DRIVER = SQLite3 pilote ODBC; Base de données = test.db; LongNames = 0; Timeout = 1000; NoTXN = 0; SyncPragma = NORMAL; StepAPI = 0; version = 3;" mais je fonctionne bien, je suis si confus sur ce qui arrive à cette chaîne de connexion. – illumi

+0

'version = 3' est sûrement ignoré. Vous utilisez 'SQLite * 3 * ODBC Driver' donc la version fait partie du nom du pilote. Utilisez le nom de chemin complet pour 'Database' ou risquez des échecs aléatoires en fonction de votre répertoire de travail actuel. – wqw

2

Ce sont des options disponibles à la chaîne de connexion pour SQLite3 ODBC Driver

Description= 
Database=<<file_name> 
Timeout= 
StepAPI=0 
SyncPragma= 
NoTXN=0 
ShortNames=0 
LongNames=0 
NoCreat=0 
NoWCHAR=0 
FKSupport=0 
LoadExt= 

Je viens de créer un système DSN et regardé dans le registre à HKLM\SOFTWARE\ODBC\ODBC.INI\<<my_dsn_here>>