Windows 7 and sqlite for Rails

I just installed new copy or Rails on my work computer running 64-bit Windows 7 Professional. During installation I ran into this sqlite3 error. After spending 2 days on it I thought I would share the solution to help others out with the same issue.

I downloaded the newest sqlite precompiled windows binaries which resulted in the files sqlite3.exe, sqlite3.def, and sqlite3.dll. I tried moving these to various places in C:\Windows, C:\Windows\system32, and C:\Ruby192\bin.

In each instance I would either get the error message:

The program can’t start because sqlite3.dll is missing from your computer. Try reinstalling the program to fix this problem.

or

The procedure entry point sqlite3_column_database_name could not be located in the dynamic link library sqlite3.dll

The first error means the dll isn’t being read. The second error means you don’t have the right dll. The solutions I found was to download a different dll file at:

http://www.sqlite.org/sqlitedll-3_6_23_1.zip

and place it in C:\Ruby192\bin

You only need to place the dll file there, I skipped moving over the def file.

I found the above link to the dll referenced onĀ  http://www.ruby-forum.com/topic/149431.

2 Comments

  1. Ryan Jensen

    Oh, my, goodness…you’re a GENIUS!!! Everybody kept saying, “download the .dll from sqlite.org. Download the .dll from sqlite.org.” But, I kept getting the same “sqlite3_column_database_name” error. I KNEW I needed a slightly older version of the .dll but just couldn’t find it anywhere. This totally solved my problem. Thanks a million for the help.

    • Scott

      Hi Ryan, glad I could help. I found this issue very frustrating too. I just emailed D. Richard Hipp asking him to put the note,
      ’64-bit Windows 7 machines work better with the dll found at
      http://www.sqlite.org/sqlitedll-3_6_23_1.zip
      under his Windows Precompiled Binaries section. Hopefully this will clear things up for others running into the same issue. Thanks for the feedback.

Leave a Reply

Your email address will not be published. Required fields are marked *