SQLIte Windows DLL with ICU extension
Version 3.6.22 of sqlite3 dll with icu 3.8 now available
After many idle months and owing to the heavy snow in Manchester, I have now made available the latest version of Sqlite3 for your perusal.
You can get Sqlite 3.6.22 with ICU 3.8 here.
Version 3.6.17 of sqlite3 dll with icu 3.8 now available
I will be making a binary compiled against ICU 4.0 available shortly - however for now please help yourselves to Sqlite 3.6.17 with ICU 3.8. Also, thanks to Michael Karathanasis' advice, I've now managed to compile the DLL using Visual Studio Express 2008 without the MSCVR90.DLL dependency (by adding the /MT switch Instead of /MD which essentially means compile as Multi Threaded instead of Multi Threaded DLL). The resulting DLL is slightly bigger and can be found here.
Version 3.6.11 of sqlite3 dll with icu 4.0 now available
Scroll down to the bottom of the page to get either 3.6. with icu 3.8 or the newest 3.6.11 with icu 4.0
Having spent many days looking around for an sqlite binary compiled with the icu extension, I finally realised that I'd have to compile the DLL myself. It has been a rather challenging process but the files are now here for you to get!
I have compiled the latest stable version 3.6.8 from the sqlite "amalgamation" distribution. To compile it I used Microsoft Visual Studio Express 2008, following relatively close the instructions I found here: Building SQLite with Visual Studio 2005. Most of the instructions are fine but there is an issue with compiling icudt.lib and dll (it's not been included in the instructions.) I will explain this bit due time.
Currently I have successfully compiled version 3.8.1 of ICU - I may try to build version 4.0 some time soon also.
I needed a multilingual version of the sqlite3.dll to include with a web2py application which needs to run off a usb stick, offline, with a local (obviously) database.
I have personally checked the ORDER BY and LIKE statements with Greek, English and German - they work fine. I don't know how / if this works OK with other languages, particularly Arabic, Chinese, Korean, Russian, Hebrew etc, so if you do know then please let me know.
From getting this to run off a memory stick with web2py, I understand that all one needs is to replace the sqlite3.dll with the one included in the zip file and to include the following DLLs from the zipfile: icudt38.dll, icuin38.dll and icuuc38.dll.
OOPS! I have just been made aware by Marcus Gritsch that compiling with MSVC2008 means that a dependency to MSVCR90.DLL has been introduced. I don't know whether one can distribute this file freely. So be warned that if you want to use these DLLs, for the time being, you will need to find MSVCR90.DLL. On the other hand, I am currently testing sqliteicu.dll which is an external loadable sqlite3 library. This should allow you to selectively override the upper / lower and collation functions of sqlite3 whenever you want thus preserving the original sqlite3 binaries and their standard performance (the unicode LIKE and ORDER BY are roughly three times slower with a reasonably sized -100MB- database.)
The files included here are 32bit X86 versions - I have no access to different equipment / configurations. Please also note that you should make a backup of your sqlite3.dll and other files and, more importantly of your database.
The included DLLs have not been tested thoroughly. I have to warn you that I cannot guarantee their quality, or to take responsibility for any loss of data or anything else that might occur because of faulty operation.
SQLite 3.6.8 with ICU 3.8 zip and SQLite 3.6.11 with ICU 4.0 zip
You can mail petros (*"&$ urban-eye.com if you've got any questions. suggestions etc..