Scheme中的数据库位置

Asq*_*qan 5 database sqlite scheme racket

我有一个程序,它使用本地数据库(sqlite3和我使用db模块).我想要做的是使用数据库而不知道它在哪里.

例如,如果我在我的程序中编码数据库的位置(如C:/ my documents/my program/localdb.db),它正常工作.

但是,如果我只写"localdb.db",即使数据库与使用数据库的.rkt文件位于同一文件夹中,它也找不到数据库.(我不知道如何,但在我的程序的早期版本中,它工作).

因此,我如何确保在不编码其位置的情况下使用数据库?

非常感谢!

Asu*_*awa 8

而不是"localdb.db"尝试使用这样的运行时路径:

(define-runtime-path localdb "localdb.db")
Run Code Online (Sandbox Code Playgroud)

并用来localdb代替路径字符串.你需要(require racket/runtime-path).

  • 您可以在运行时路径上调用`split-path`来获取它. (2认同)