问题标签 [clsql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
128 浏览

multithreading - SQLITE3 CLSQL 多线程插入导致错误

我想将我的 sqlite3 数据库与多个线程并行使用。我读到使用连接池可以使访问线程安全,但是在插入数据时仍然会出错。

在此错误中以这种方式使用多个线程时

使用表达式“INSERT INTO ...”访问数据库时:错误 5 / 数据库已锁定

甚至可以使用 sqlite3 数据库进行多线程插入吗?如果是怎么办?

0 投票
1 回答
474 浏览

mysql - quicklisp 安装和使用 cl-dbi 失败并出现错误 - 打开共享对象“libmysqlclient_r.so”时出错:

我想用cl-dbi连接mysql。

使用 quicklisp 在 sbcl 上安装 cl-dbi 后,尝试连接 mysql 但失败并出现以下错误:

环境信息:操作系统:debian 8.1 mysql:5.5.43-0+deb8u1 sbcl:SBCL 1.2.4.debian

也未能使用 cl-mysql clsql。

任何人都可以提供一些线索吗?

0 投票
1 回答
312 浏览

mysql - cl-dbi 从 sbcl 查询 mysql 错误 - 非法:UTF-8 字符从位置 18 开始

今天尝试使用 cl-dbi 对 mysql 进行一些查询。但它失败并出现以下错误:

这是mysql字符集:

在这里进行更多测试:
1. 我尝试根据post的建议将整个数据库转换为 utf-8 ,但仍然失败并出现同样的错误。

  1. 2015 年 8 月 3 日:这里我尝试查询当前 cl-dbi 连接中的 character_set 和 collat​​ion。结果如下:

正如“Fernando Borretti”所建议的,发送“SET names 'utf8';”后,查询成功完成,问题得到修复。以下是测试结果供参考:

0 投票
0 回答
343 浏览

sqlite - 通过 clsql-sqlite3 选择带有特殊字符的记录时出现 CCL Lisp 错误

在Windows10/64上,我安装了CCL Lisp 1.11,下载了sqlite3.dll,然后安装了quicklisp和cl-sql。我在(德语)特殊字符的上下文中遇到错误。这是我在 Emacs Slime Repl 中尝试过的:

执行最后一行调用调试器:

我的 Emacs .init.el 配置为使用 UTF-8:

如果我尝试在没有 UTF-8 编码的情况下创建 .sqlite 数据库文件,则插入和选择数据可以工作,但特殊字符无法正确显示。

0 投票
2 回答
214 浏览

postgresql - 使用 clsql 在 postgresql 中自动生成主键

我正在尝试使用 Common Lisp ORM 创建一个简单的数据库。我使用 PostgreSQL 和 CLSQL。我可以创建类并生成表,但是当我想插入一个没有主键的值以获得生成的值时,它不起作用。似乎它适用于mysql数据库。可以用 PostgreSQL 做到这一点吗?

我将主键定义为:

我得到这个错误:

我将 PostgreSQL 9.5.2 与 SBCL 1.3.1 一起使用。

编辑

这是一个例子:

我不太明白这个错误,但该行似乎已插入数据库中。

0 投票
0 回答
82 浏览

common-lisp - 如何一起使用 clsql 和 data-table

我无法理解如何将数据表与 CLSQL 一起使用。CL-CSV 存储库 README提到这是可能的,但我真的很想举个例子。

fe 如果我有一个从 CSV 生成的数据表*db*,我如何使用 CLSQL 来查询内容?我什至无法让 CLSQL 将其用作/连接到*db*数据库。

0 投票
0 回答
84 浏览

mysql - Windows 平台上的 clsql-mysql (Clozure CL)

我正在尝试clsql-mysql在 Windows 平台上使用。我正在使用 32 位 Clozure CL 和 32 位 MySQL 连接器库(来自 Oracle)来提供外部库。

我将连接器的路径添加到 %path% 以便 clsql 可以找到连接器库,并使用

顺利进行并返回一个<MYSQL_DATABASE>对象。

但是,当我尝试执行简单的 SQL 查询时,出现以下错误:

这可能与 mysql 连接器的编译方式有关吗?从 MySQL 连接器提供的 INFO_BIN 文件中:

在搜索此错误时,我能找到的唯一结果是与 Ubuntu 上的类似问题相关的结果。

如何开始调试此错误,或者如何修复此错误以使 SQL 查询完成而不会出现错误?

0 投票
2 回答
203 浏览

common-lisp - 在 Common Lisp 中以宏列表作为参数的宏

在 Common Lisp 中,如何定义一个“元宏”,它将宏列表(和其他参数)作为参数,并组合这些宏以生成所需的代码。

这个问题相当于编写一个“高阶宏”,它从其他宏的变量列表中定义一个宏。

提示问题的具体情况对我来说是一个 CLSQL 实验,我想从 CLSQL-testsuite 重新表达员工类

作为

在定义复杂的数据库模式时,手头有这种技术将有利于一致性和简洁性。

我将我需要的两个特征定义为

然而,我写的尝试def-view-class-with-traits被挫败了。

在用于归约的 lambda 中,trait代表宏,而我对 apply 的使用对 Lisp 没有任何意义——这是正确的!- 但希望将我的意图传达给其他程序员。

如何让以适当的方式def-view-class-with-traits处理宏列表?traits

0 投票
1 回答
246 浏览

sqlite - 如何编写一个使用sqlite连接数据库并在lisp中查询数据的函数

我写了这个函数:

我在本地有一个名为 的数据库xx.db,我想使用 sqlite 来连接它,我可以这样查询:

我该怎么做?它不会运行上面的查询,我也已经包含了 SQLite 包,并给出了 xx.db 的路径

0 投票
1 回答
196 浏览

common-lisp - clsql:为什么要“神奇地”添加表?

假设我有以下两个表

现在我想要在 class-b 中没有对应条目的 class-a 条目。(“对应”表示 class-a.field-one 映射到 class-bb-one。)假设 class-a 有以下两个条目:

因此,要发出的查询将是:

但是,这也增加了 b 类。(由于有目的的错误,我将查询执行为:)

另一方面,

被翻译成预期的:

这是一个错误还是这个翻译背后有一些原因?