How to fix a “sqlite3.dll missing” error message in Ruby on Rails

August 5th, 2010 at 2:10 pm 35 Comments

Here’s a little reminder for myself on how I fixed the “sqlite3.dll missing” error message I was getting while setting up a new Ruby on Rails environment.

First, I downloaded the latest SQlite3 DLL. (I grabbed the DLL of the SQLite library without the TCL bindings.)

Then, I exracted the .dll and .def files to my C:\ruby\bin directory and that fixed my issue. (You’ll might have to restart your console session.)

These steps will also fix this error message:
“The procedure entry point sqlite3_column_database_name could not be located in the dynamic link library sqlite3.dll.”

Hope this helps someone else running into the same issue.

35 Responses to “How to fix a “sqlite3.dll missing” error message in Ruby on Rails”

  1. J Dichev
    August 29th, 2010 at 1:24 pm

    Thanks, I just ran into the same issue and this post saved me a lot of time.


  2. Fred
    September 2nd, 2010 at 8:55 pm

    Worked for me. Simply copying the exe didn’t work, then I copied all three files (exe, def and dll). Thanks.


  3. Jon
    September 8th, 2010 at 9:57 pm

    I was getting the error and this took care of it. Thanks, Shaun.


  4. ameen
    September 12th, 2010 at 1:00 am

    Thanks for posting that. It really saved a lot of time!


  5. Brian
    September 12th, 2010 at 9:51 am

    Thanks!


  6. Khalid Abuhakmeh
    September 17th, 2010 at 1:02 pm

    Thank you, that did it.


  7. nat
    September 17th, 2010 at 10:44 pm

    Thank you! This was very concise and helped me a lot!


  8. Lincoln
    September 23rd, 2010 at 12:29 pm

    Thanks!


  9. fedup
    September 24th, 2010 at 1:29 pm

    The version sqlitedll-3_7_2.zip does not seem to have the .def file which means that I am still experiencing the same problem. Any ideas?

    Thanks!


  10. Shaun
    September 26th, 2010 at 10:10 am

    @fedup

    Try downloading this version: sqlitedll-3_7_2.zip (265.70 KiB)
    “This is a DLL of the SQLite library without the TCL bindings. The only external dependency is MSVCRT.DLL.”

    I just checked and this version has the .def file.


  11. Jigs
    October 3rd, 2010 at 9:13 am

    Thanks!!!


  12. Greg
    October 5th, 2010 at 1:32 pm

    Thanks!


  13. George
    October 22nd, 2010 at 9:36 am

    Thanks,

    I ran into this problem within Rubymine.
    This solution took care of it.


  14. Sowmya
    December 16th, 2010 at 1:26 am

    Thanks. It helped me a lot :)


  15. Mary
    January 14th, 2011 at 10:22 pm

    Thank you for making this so easy!


  16. Kevin Thomas
    March 11th, 2011 at 1:50 pm

    Thanks a lot Shaun. It solved the issue for me.


  17. Jerry Berman
    March 28th, 2011 at 6:27 pm

    I spent 3 days trying to fix this before I found this site. It worked. Thank you sooooo much.


  18. kemo
    April 7th, 2011 at 5:17 am

    thanks


  19. Alex Kinsella
    April 12th, 2011 at 8:15 pm

    Awesome – worked like a charm!!


  20. Divya
    April 14th, 2011 at 12:43 am

    I face this problem which is yet to be solved..
    The .ddl and .def files are placed in ruby/bin
    I even installed the gem using gem install sqlite3..
    The installation fetches the file from the site and asks me to save the file to the bin folder, which by the way already exists..
    Any insights as to why this might e happening???


  21. Ryan
    April 14th, 2011 at 5:05 am

    I did get the error about the .dll Now I get this one:

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

    Help please :/


  22. Shaun
    April 14th, 2011 at 10:36 am

    @Divya, are you getting an error message?


  23. Shaun
    April 14th, 2011 at 10:39 am

    @Ryan, did you restart your console session?


  24. Håkan
    April 16th, 2011 at 3:34 am

    I just had the same problem that Ryan described. The problem seems to be that the sqlite3 gem is compiled with version 3.7.3. I downloaded and set up version 3.7.3 instead and it now works just fine.

    I hope this helps.


  25. John
    April 19th, 2011 at 5:55 pm

    @Hakan–where did you find version 3.7.3? I can’t find it anywhere and I am still getting the same error “The procedure entry point sqlite3_column_database_name could not be located in the dynamic link library sqlite3.dll” I don’t see it on the site and I can’t find it through google. Anyone?? Thanks!


  26. Dave Stephens
    April 20th, 2011 at 5:01 am

    Version 3.7.3 is here: http://www.sqlite.org/sqlitedll-3_7_3.zip

    I can confirm Hakan’s instructions work fine :-)


  27. mub
    April 21st, 2011 at 12:00 am

    short,sweet,nice artical, saved time,no words to give comments such a nice artical


  28. John
    April 21st, 2011 at 10:08 pm

    Excellent. Not sure why I couldn’t find that! Worked like a charm. Many thanks to you both.


  29. Mark Steggles
    April 23rd, 2011 at 9:50 am

    Thankyou Hakan! Wasted too many hours on this! :)


  30. jonny
    April 27th, 2011 at 12:33 pm

    Thanks. saved me a lot of pain with this post.


  31. anon
    April 30th, 2011 at 8:17 pm

    Works.
    and Thanks!


  32. Kapil Goutam
    May 11th, 2011 at 6:24 am

    Thanks, It saved a lot of time….
    Thanks again..!!!


  33. Richard W
    May 20th, 2011 at 10:39 am

    WOOT!! Thanks so much for posting this. Thank goodness Google found you and I have Ruby up and running!


  34. Satya
    July 5th, 2011 at 10:31 am

    It works! Thanks!


  35. Shaheedha
    July 11th, 2011 at 12:13 am

    It worked for me as well. Thanks a lot!


Leave a Comment