SQLite_ODBC_Driver

所属分类:其他数据库
开发工具:Delphi
文件大小:1606KB
下载次数:111
上传日期:2009-05-08 03:24:38
上 传 者ledo88
说明:  SQLite ODBC Driver SQLite3 的ODBC驱动,可以像Access一样访问SQLite3数据库
(SQLite ODBC Driver SQLite3 the ODBC driver, you can visit the same as the Access database SQLite3)

文件列表:
license.txt (1482, 2009-01-27)
TCC\doc\tcc-doc.html (95291, 2009-01-27)
TCC\include\_mingw.h (1275, 2009-01-27)
TCC\include\assert.h (1401, 2009-01-27)
TCC\include\winapi\basetsd.h (3903, 2009-01-27)
TCC\include\winapi\basetyps.h (4293, 2009-01-27)
TCC\include\conio.h (2693, 2009-01-27)
TCC\include\ctype.h (7177, 2009-01-27)
TCC\include\dir.h (739, 2009-01-27)
TCC\include\direct.h (2108, 2009-01-27)
TCC\include\dirent.h (2331, 2009-01-27)
TCC\include\dos.h (2651, 2009-01-27)
TCC\include\errno.h (3711, 2009-01-27)
TCC\include\excpt.h (425, 2009-01-27)
TCC\include\sys\fcntl.h (146, 2009-01-27)
TCC\include\fcntl.h (3215, 2009-01-27)
TCC\include\fenv.h (2028, 2009-01-27)
TCC\include\sys\file.h (154, 2009-01-27)
TCC\include\float.h (6251, 2009-01-27)
TCC\include\inttypes.h (5411, 2009-01-27)
TCC\include\io.h (7671, 2009-01-27)
TCC\include\libtcc.h (3189, 2009-01-27)
TCC\include\limits.h (2636, 2009-01-27)
TCC\include\locale.h (2327, 2009-01-27)
TCC\include\sys\locking.h (1301, 2009-01-27)
TCC\include\malloc.h (1945, 2009-01-27)
TCC\include\math.h (11148, 2009-01-27)
TCC\include\mem.h (132, 2009-01-27)
TCC\include\memory.h (157, 2009-01-27)
TCC\include\winapi\mswsock.h (2950, 2009-01-27)
TCC\include\odbcinst.h (6470, 2009-01-27)
TCC\include\process.h (4376, 2009-01-27)
TCC\include\setjmp.h (1735, 2009-01-27)
TCC\include\share.h (1087, 2009-01-27)
... ...

SQLite ODBC Driver ------------------ This is an open source ODBC driver for the wonderful SQLite 2.8.* and SQLite 3.* Database Engine/Library. The driver is usable but may contain lots of memory leaks and all other kinds of bugs. Use it on your own risk. The current source can be downloaded from http://www.ch-werner.de/sqliteodbc/sqliteodbc-*.*.tar.gz WIN32 binaries (the ODBC driver DLL, install/uninstall programs) are in http://www.ch-werner.de/sqliteodbc/sqliteodbc.exe The binaries were made with SQLite 2.8.17, SQLite 3.6.10, MingW cross compiler and tested on Windows NT 4.0 with the query tool of MS Excel 97, with StarOffice 5.2 and OpenOffice 1.1 and 2.x. Execute the sqliteodbc.exe NSIS installer to unpack the necessary files. This installs the SQLite ODBC driver and creates a System DSN. To remove the driver use the start menu entries or the UNINST.EXE program. To create a SQLite data source use the ODBC control panel applet and provide the name of the SQLite database file to be worked on as an absolute pathname including the drive letter, eg as "C:\TEMP\SQLite.DB". The busy (or lock) timeout for the database can be specified in the respective field. If empty a default value of 100000 milliseconds is used. Other tests were made on Linux with the "isql" command line tool and the "DataManager" GUI tool of unixODBC 2.1.0. Since October 14th, 2001, the driver supports the data types SQL_INTEGER, SQL_TINYINT, SQL_SMALLINT, SQL_FLOAT, SQL_DOUBLE, SQL_DATE, SQL_TIME, SQL_TIMESTAMP, and SQL_VARCHAR. Since May 25th, 2002, SQL_LONGVARCHAR is available but rather experimental. That type is used for SQLite schema containing text or varchar with a size specifier larger than 255. The data type mapping obtains per-column meta information from the "PRAGMA table_info(...)" SQLite statement. If SELECTs are used which contain columns for which the table qualifier cannot be determined, no meta information for data type mapping is available and therefore the database source data type will be SQL_VARCHAR or SQL_LONGVARCHAR which usually maps to SQL_C_CHAR. Restrictions of data type mapping: - Integer and floating point columns in the database are reported as NULLs when no digit seen in the column, otherwise all digits up to end of string or non-digit are interpreted as the value, i.e. '10blurk' is ten, '0blurk' is zero, but 'blurk' is NULL. - Format for SQL_DATE is YYYY-MM-DD or YYYYMMDD - Format for SQL_TIME is hh:mm:ss or hhmmss - Format for SQL_TIMESTAMP is YYYYMMDDhhmmss[fraction] or YYYY-MM-DD hh:mm:ss[.fraction] or hh:mm:ss[.fraction] YYYY-MM-DD The fractional part is expressed as 1E-09 seconds - The driver puts the ODBC string representations for date/time, (eg for "{ts '2001-10-10 12:58:00'}" the substring within the single quotes) directly into the SQLite column Since November 17th, 2001, configure/libtool is used for the Un*x version which should automatically find the SQLite and unixODBC (or iODBC) header files and libraries. Do the usual $ ./configure && make followed by # make install in order to get /usr/local/lib/libsqliteodbc.so. Of course, you should have installed the unixODBC (or iODBC) development RPMs since the ODBC header files are required for the build of the SQLite ODBC driver. Since May 15th, 2003, (version 0.51), there are two variants of the SQLite 2.x driver for Win32 platforms: the first (sqliteodbc.dll) linked against ISO8859-1 SQLite library exporting ODBC/SQL ANSI functions, and the second (sqliteodbcu.dll) linked against UTF-8 SQLite library exporting ODBC/SQL UNICODE functions. The UNICODE version is experimental and allows to turn off wide character SQL data types by its configuration dialog (checkmark labelled "No WCHAR"). It is known to work on Win32. It may work on UN*X too using newer version of unixODBC. To setup a SQLite data source using unixODBC (www.unixodbc.org): 1. Add the driver to /etc/odbcinst.ini: [SQLite] Description=SQLite ODBC Driver Driver=/usr/local/lib/libsqliteodbc.so Setup=/usr/local/lib/libsqliteodbc.so Threading=2 2. Add a DSN to your private ~/.odbc.ini: [mysqlitedb] Description=My SQLite test database Driver=SQLite Database=/home/johndoe/databases/mytest.db # optional lock timeout in milliseconds Timeout=2000 For iODBC (www.iodbc.org, only versions 3.0.[56] tested) do the following steps: 1. Add the driver to /etc/odbcinst.ini: [ODBC Drivers] ... SQLite=Installed ... [SQLite] Driver=/usr/local/lib/libsqliteodbc.so 2. Add a DSN to your private ~/.odbc.ini: [ODBC Data Sources] ... mysqlitedb=SQLite ... [mysqlitedb] Driver=/usr/local/lib/libsqliteodbc.so Description=My SQLite test database Database=/home/johndoe/databases/mytest.db # optional lock timeout in milliseconds Timeout=2000 Python sample usage with eGenix mx-Extension (see http://www.lemburg.com/files/python/mxODBC.html) $ python >>> import mx.ODBC.unixODBC >>> dbc=mx.ODBC.unixODBC.connect("mysqlitedb") >>> cur=dbc.cursor() >>> cur.execute("create table foo (id int, name string)") 1 >>> cur.execute("insert into foo values(1, 'Me')") 1 >>> cur.execute("insert into foo values(2, 'You')") 1 >>> dbc.commit() >>> cur.execute("select * from foo") >>> print cur.fetchall() [(1, 'Me'), (2, 'You')] >>> print cur.fetchall() [] >>> cur.execute("drop table foo") 1 >>> dbc.commit() Build instructions for MS Visual C++ 6.0: ... for SQLite 2.x.x 1. Extract the source tarball sqliteodbc.tar.gz 2. Extract the official SQLite 2.x.x sources in the sqliteodbc directory which resulted from step 1. Optionally, apply the sqlite-locale-patch-28* which matches your SQLite version 3. Setup your MSVC++ environment, ie PATH/INCLUDE/LIB, then open a command window, cd to the sqliteodbc directory and enter: nmake -f sqliteodbc.mak This compiles the SQLite sources first, creates a link library of the necessary object files, then compiles and links the ODBC driver and the (un)install program. 4. If you'd like to create the UNICODE version of the driver, enter: nmake -f sqliteodbc.mak clean nmake -f sqliteodbc.mak ENCODING=UTF8 ... for SQLite 3.x.x 1. Extract the source tarball sqliteodbc.tar.gz 2. Extract the official SQLite 3.x.x. sources in the sqliteodbc directory which resulted from step 1. Rename the resulting sqlite directory to sqlite3 3. Setup your MSVC++ environment, ie PATH/INCLUDE/LIB, then open a command window, cd to the sqliteodbc directory and enter: nmake -f sqlite3odbc.mak This compiles the SQLite3 sources first, creates a link library of the necessary object files, then compiles and links the ODBC driver and the (un)install program. Names of Win32 Driver DLLs: sqliteodbc.dll Driver with ISO8859-1 SQLite2 engine sqliteodbcu.dll Driver with UTF-8/UNICODE SQLite2 engine sqlite3odbc.dll Driver with SQLite3 engine Build instructions for MingW cross compiler for Win32 targets: A script named mingw-cross-build.sh is provided which contains all necessary information. It downloads the required SQLite source tarballs and builds SQLite and the ODBC drivers. The final step is creating an NSIS installer. Win32 install/remove/shell by RUNDLL32 Each driver DLL provides entry points for ODBC driver installation and removal which can be invoked from RUNDLL32.EXE, eg ### install sqliteodbc.dll C:\> rundll32 [path]sqliteodbc.dll,install [quiet] ### remove sqlite3odbc.dll C:\> rundll32 [path]sqlite3odbc.dll,uninstall [quiet] If [path] is not provided newer Windows OSes tend to favor the sqlite*odbc*dll in system directories over the current directory, thus better provide an absolute path to the DLL of interest. If the word "quiet" appears anywhere after the DLL/function name, no info message boxes pop up (but errors are shown). An (interactive or batch) SQLite shell can be invoked, too, eg ### run SQLite shell on database C:\bla\my.db C:\> rundll32 [path]sqliteodbc.dll,shell C:\bla\my.db ... ### batch run with given SQL C:\> rundll32 [path]sqliteodbc.dll,shell -batch C:\bla\my.db "select * from table" NUL: >out.txt DNS-less connection to the driver Using the SQLDriverConnect() API it should be possible to connect to a SQLite database with these strings (Win32 and UN*X) DSN=SQLite Datasource;Database=full-path-to-db;... DSN=SQLite3 Datasource;Database=full-path-to-db;... alternatively Win32: Driver=SQLite ODBC Driver;Database=full-path-to-db;... Driver=SQLite3 ODBC Driver;Database=full-path-to-db;... UN*X (Linux RPM): Driver=SQLITE;Database=full-path-to-db;... Driver=SQLITE3;Database=full-path-to-db;... Build Instructions for Alpha/Tru*** (OSF1 V5.1) and HP/UX (B.11.23 U ia***) Nikola Radovanovic had success with these commands to build all required components: sqlite (3.6.7): ./configure --prefix=$HOME/development --disable-tcl \ CC='cc -pthread' CFLAGS='-DSQLITE_ENABLE_COLUMN_METADATA=1' gmake && gmake install unixODBC (2.2.12): ./configure --prefix=${HOME}/development --disable-gui \ --without-x --enable-iconv=no gmake && gmake install sqliteodbc (>0.79): ./configure --with-sqlite3=${HOME}/development \ --with-odbc=${HOME}/development --prefix=${HOME}/development \ --enable-winterface=no OSF1: gmake && gmake install HP/UX: gmake CFLAGS="+DD***" && gmake install TODO: - improve documentation 2009-01-27 Christian Werner mailto:chw@ch-werner.de

近期下载者

相关文件


收藏者