脚本嵌入式SQLite与TCL

时间:2017-10-10 07:49:31

标签: c++ sqlite tcl

我正在编写一个嵌入TCL的C ++应用程序,对于它的数据库操作,我也在其中嵌入了SQLite。我希望能够做到以下几点:

  1. 从嵌入式TCL插件中为嵌入式SQLite编写TCL脚本。
  2. 将嵌入式TCL解释器的SQLite连接传递给C ++,并在C ++中将其用于数据库操作,以及相反的方式。
  3. 我很感激建议。

1 个答案:

答案 0 :(得分:1)

Tcl 8.6应附带SQLite接口的构建版本sqlite3。但是,没有(官方)方法从包中使用C ++代码共享数据库连接;包中没有API可以从C ++调用来获取连接。 正式的解决方法是从您的C ++代码创建另一个连接,除非您在两种语言绑定中的查询之间进行奇怪的混合,否则不应过于繁琐,非常不是正常使用案例。

您可以使用Tcl_GetCommandInfo()来检索Tcl数据库句柄命令的ClientData字段等。然后可以将其转换为指向第一个字段为sqlite3*句柄的结构的指针,就像使用sqlite3_open()获得的那样。哪个凌乱脆弱。此外,您仍然需要遵守通常的规则,例如需要保持单个线程。这真的不是我推荐的!