Как подключиться к SQlite с помощью cl-dbi - PullRequest
0 голосов
/ 10 февраля 2020

Tried:

(defvar соединение (dbi: connect: mysql: имя базы данных "test": имя пользователя "nobody": пароль "1234"))

Результат:

System "dbd-sqlite" not found
   [Condition of type QUICKLISP-CLIENT:SYSTEM-NOT-FOUND]

Может ли кто-нибудь указать на пример использования cl-dbi с Sqlite3?

1 Ответ

0 голосов
/ 10 февраля 2020

(cl-dbi: connect: sqlite3: имя базы данных "db.db")

Используйте :sqlite3 в качестве имени драйвера.

У вас была подсказка в README: https://github.com/fukamachi/cl-dbi#using -dbiwith-connection-гарантировать-соединения-закрыты (что, соответственно, могло бы быть более явным)

(dbi:with-connection (conn :sqlite3 :database-name "/home/fukamachi/test.db")
  ;;                        ^^^ sqlite3
  (let* ((query (dbi:prepare conn "SELECT * FROM People"))
         (query (dbi:execute query)))
    (loop for row = (dbi:fetch query)
          while row
          do (format t "~A~%" row))))

, а также указатель на документацию здесь: https://lispcookbook.github.io/cl-cookbook/databases.html#connecting -to-a-db (ORM Mito использует cl-dbi).

Веселитесь!

...