Bonjour,
Je tente de faire fonctionner les codes que jchd propose dans le fil viewtopic.php?f=3&t=15198&p=104079&hili ... up#p104079
Dans les uns j'obtiens le message d'erreur signalant que le fichier sqlite.dll ne peut être chargé. Dans d'autres, j'obtiens le message d'erreur signalant que le librairie est mal utilisée.
J'ai placé la dll sqlite3.dll dans le dossier du code, dans le sous-dossier "config" du dossier sus-dit, dans la dossier System32 et dans le dossier SysWOW64.
Voyez-vous la raison de ces échecs ?
Je vous remercie.
[R] erreur de chargement de sqlite3.dll
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] erreur de chargement de sqlite3.dll
Modifié en dernier par GMH le ven. 31 janv. 2020 10:43, modifié 1 fois.
- jchd
- AutoIt MVPs (MVP)
- Messages : 2272
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] erreur de chargement de sqlite3.dll
C'est une application x86 ou x64 ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [..] erreur de chargement de sqlite3.dll
Merci de votre réponse rapide.
Je suis sous Windows 64.
Je suis sous Windows 64.
- jchd
- AutoIt MVPs (MVP)
- Messages : 2272
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] erreur de chargement de sqlite3.dll
Ma question porte sur l'application, pas l'OS !
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- jchd
- AutoIt MVPs (MVP)
- Messages : 2272
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] erreur de chargement de sqlite3.dll
La DLL peut se trouver à plusieurs endroits, par exemple le dossier de lancement de l'exe, les dossiers système de l'OS ou bien encore selon une variable d'environnement. Voir la doc officielle sur ce point (sqlite.org).
Si l'exe est un x86 (32 bits) la dll recherchée est sqlite3.dll à défaut d'être explicitement spécifiée en argument de *_startup.
Si l'exe est un x64 (64 bits) *_startup recherche par défaut sqlite3_x64.dll ; si une dll est explicite en argument et si elle ne contient pas la chaîne '_x64' alors celle chaîne est ajoutée avant l'extension.
Exemple en x64 :
La même chose en X86 :
Si l'exe est un x86 (32 bits) la dll recherchée est sqlite3.dll à défaut d'être explicitement spécifiée en argument de *_startup.
Si l'exe est un x64 (64 bits) *_startup recherche par défaut sqlite3_x64.dll ; si une dll est explicite en argument et si elle ne contient pas la chaîne '_x64' alors celle chaîne est ajoutée avant l'extension.
Exemple en x64 :
Code : Tout sélectionner
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Run_AU3Check=n
#include <SQLite.au3>
Const $SQLITE_DLL = "C:\SQLite\bin\sqlite3_x64.dll" ;<-- Change to the location of your sqlite dll
Local $aRow
;Init sqlite and create a memory db
_SQLite_Startup($SQLITE_DLL, False, 1)
If @error Then Exit MsgBox($MB_ICONERROR, "SQLite Error", "Unable to start SQLite. Check existence of DLL")
_SQLite_Open()
Local $s = "CREATE TABLE if not exists t1 (a INTEGER PRIMARY KEY, b char, c char);" & _
"INSERT INTO t1 VALUES (4, 'D', 'one'), (2, 'B', 'two'), (6, 'F', 'three'), (5, 'E', 'two'), (3, 'C', 'three'), (1, 'A', 'one'), (7, 'G', 'one');"
_SQLite_Exec(-1, $s)
$s = "SELECT a, b, group_concat(b, '->') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS Sequence FROM t1;"
Local $aRows, $iRows, $iCols
_SQLite_GetTable2d(-1, $s, $aRows, $iRows, $iCols)
_SQLite_Display2DResult($aRows)
_SQLite_Shutdown()
Code : Tout sélectionner
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Run_AU3Check=n
#include <SQLite.au3>
Const $SQLITE_DLL = "C:\SQLite\bin\sqlite3.dll" ;<-- Change to the location of your sqlite dll
Local $aRow
;Init sqlite and create a memory db
_SQLite_Startup($SQLITE_DLL, False, 1)
If @error Then Exit MsgBox($MB_ICONERROR, "SQLite Error", "Unable to start SQLite. Check existence of DLL")
_SQLite_Open()
Local $s = "CREATE TABLE if not exists t1 (a INTEGER PRIMARY KEY, b char, c char);" & _
"INSERT INTO t1 VALUES (4, 'D', 'one'), (2, 'B', 'two'), (6, 'F', 'three'), (5, 'E', 'two'), (3, 'C', 'three'), (1, 'A', 'one'), (7, 'G', 'one');"
_SQLite_Exec(-1, $s)
$s = "SELECT a, b, group_concat(b, '->') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS Sequence FROM t1;"
Local $aRows, $iRows, $iCols
_SQLite_GetTable2d(-1, $s, $aRows, $iRows, $iCols)
_SQLite_Display2DResult($aRows)
_SQLite_Shutdown()
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: [R] erreur de chargement de sqlite3.dll
Grand merci jchd pour votre long message de réponse très efficace.
Le second code (x86) fonctionne parfaitement.
Je vais partir de ce dernier pour construire mon petit programme faisant appel à une base sqlite.
Merci encore et bonne journée à vous.
Le second code (x86) fonctionne parfaitement.
Je vais partir de ce dernier pour construire mon petit programme faisant appel à une base sqlite.
Merci encore et bonne journée à vous.