Thread: [SQLObject] SQLCipher with SQLite
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Timothy W. G. <tim...@si...> - 2011-02-23 17:44:19
|
Has anyone had success using SQLCipher (http://sqlcipher.net/) with SQLite through SQLObject? If you have, then I'd love to hear your solution. If you haven't but think it could work, I'd like to here your suggestions. If you think that I haven't got a chance, then please tell me that too! The real question is how to work with encryption through sqlobject; SQLCipher "might" be one way... I've found the following thread http://groups.google.com/group/sqlcipher/browse_thread/thread/b85f42dc9921df46 and downloaded the attached file at the bottom of the page. After unpacking "sqlcipher.7z", on my system I replaced "C:\Python27\DLLs\sqlite3.dll" with "C:\Downloads\sqlcipher\1.1.1\sqlite-3.6.22\MSVC\StaticLib\Release\sqlite3.dll" but haven't gotten any further. I'm not sure if there is any way to pass an encryption key through the current sqlobject sqlite connector. Without making any other changes to my program or databases I now get the message when attempting to connect: File "C:\Python27\lib\site-packages\sqlobject-0.13.0-py2.7.egg\sqlobject\sqlite\sqliteconnection.py", line 48, in __init__ raise ImportError('Cannot find an SQLite driver, tried %s' % drivers) ImportError: Cannot find an SQLite driver, tried pysqlite2,sqlite3,sqlite Thanks for any help, Tim |
From: Oleg B. <ph...@ph...> - 2011-02-24 12:24:36
|
On Wed, Feb 23, 2011 at 05:43:52PM +0000, Timothy W. Grove wrote: > File > "C:\Python27\lib\site-packages\sqlobject-0.13.0-py2.7.egg\sqlobject\sqlite\sqliteconnection.py", > line 48, in __init__ > raise ImportError('Cannot find an SQLite driver, tried %s' % drivers) > ImportError: Cannot find an SQLite driver, tried > pysqlite2,sqlite3,sqlite First thing to try - test the module without SQLObject. Start with "import sqlite3". Also look at sqlobject/include/hashcol.py. You can use it as a model to try to implement an encrypting column or an encrypting validator that could be applied to all columns. Oleg. -- Oleg Broytman http://phdru.name/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Oleg B. <ph...@ph...> - 2011-02-24 13:04:29
|
Please answer to the list. On Thu, Feb 24, 2011 at 12:52:05PM +0000, Timothy W. Grove wrote: > On 24/02/2011 12:24 PM, Oleg Broytman wrote: >> First thing to try - test the module without SQLObject. Start with >> "import sqlite3". > Well, that is the first problem: > > import sqlite3 > Traceback (most recent call last): > File "<input>", line 1, in <module> > File "C:\Python27\lib\sqlite3\__init__.py", line 24, in <module> > from dbapi2 import * > File "C:\Python27\lib\sqlite3\dbapi2.py", line 27, in <module> > from _sqlite3 import * > ImportError: DLL load failed: The specified procedure could not be > found. The DLL is broken, forget about it (until you are going to fix and recompile it). Oleg. -- Oleg Broytman http://phdru.name/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Oleg B. <ph...@ph...> - 2011-02-24 13:21:21
|
On Thu, Feb 24, 2011 at 04:04:20PM +0300, Oleg Broytman wrote: > > ImportError: DLL load failed: The specified procedure could not be > > found. > > The DLL is broken Well, it's not broken, it just isn't a Python module. _sqlite3.dll is not and SQLite's DLL - it's a Python module statically linking SQLite's code. Oleg. -- Oleg Broytman http://phdru.name/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |