SQLite Forum



(1) By anonymous on 2020-11-29 10:32:37 [link] [source]

I downloaded SQLite3 from https://www.sqlite.org/2020/sqlite-dll-win32-x86-3330000.zip.

I have SQLite3.DLL (954,864 bytes) and SQLite3.EXE (987,136 bytes). Originally I thought SQLite3.EXE used SQLite3.DLL but no so: I renamed SQLite3.DLL to xSQLite3.DLL and SQLite3.EXE still works.

  1. For the CLI, I need only have SQLite3.EXE - it has no dependency on SQLite3.DLL. Correct?
  2. How is SQLite3.DLL meant or intended to be used?

(2) By Larry Brasfield (LarryBrasfield) on 2020-11-29 11:06:47 in reply to 1 [link] [source]

The "Dependency Walker](http://dependencywalker.com/) tool will show your proposition #1 to be correct.

The DLL is useful, of course, for applications which link to it to gain SQLite functionality instead of statically linking the library. For example, I build the CLI SQLite shell, as sqlite3m.exe, linked that way. This allows me to effectively swap in different versions of the library without rebuilding the shell. The build recipe named Makefile.msc is already setup to provide the DLL linkage option.

(3.1) By Keith Medcalf (kmedcalf) on 2020-11-29 11:42:06 edited from 3.0 in reply to 1 [source]

SQLite3 is a C Library (computer code) that permits an application (usually one that you write) to access a Relational Database file.

SQLite3.DLL is this library compiled as a Dynamic Link Library for Windows applications that have been written to use SQLite3 in this manner.

SQLite3.EXE is an Application written by the same folks who wrote the SQLite3 library that implements a standard Command Line Interface (CLI) Application which uses the SQLite3 library to allow the "typing of commands on a keyboard" to be executed by the SQLite3 library. SQLite3.EXE is a self-contained executable that contains SQLite3 within itself (it does not use the DLL).

  1. Correct. That version of the Shell Application has the SQLite3 library embeded. You can tell because the size is about the same. The CLI Application code is very small as it is a very simple application, so most of the size is the SQLite3 library.

  2. SQLite3.DLL is used by an application (such as the shell application) if it has been compiled such that the SQLite3 library is dynamically loaded at runtime (and the name being sought happens to be SQLite3.DLL, and the platform happens to be Windows, and the application is 32-bit) rather than statically linked as part of the application.

(4) By anonymous on 2020-11-29 12:32:02 in reply to 3.1 [link] [source]

Is SQLite3.DLL Win32 DLL (like Windows kernel.dll, say)?

How can I find the methods/functions and their corresponding signatures?

I see SQLite3.DEF that lists (looks like) a number of properties and methods BUT there is no documentation of their respective signatures (arguments they take) in SQLite3.DEF.

(5) By Warren Young (wyoung) on 2020-11-29 14:34:38 in reply to 4 [link] [source]

Under “Programming Interfaces”, here.