【问题标题】:Access SQLite database from JavaScript application?从 JavaScript 应用程序访问 SQLite 数据库?
【发布时间】:2013-11-15 15:41:01
【问题描述】:

我们有一个 SQLite 数据库,该数据库当前由外部批处理作业填充。数据库不是很复杂(本质上是 1:n 关系中的两个表和一些保存查找值的“目录表”)。

我们现在必须添加一个用户前端以及一些报告。在某一时刻,只有一个用户在使用前端,但是,这应该可以从我们网络中的任何地方(= 可以访问 SQLite 文件的任何地方)进行。

用尽可能少的努力创建易于使用的前端的最简单方法是什么?我考虑过使用 HTML/JS,但还没有找到如何使用 JS 访问本地 SQLite DB(这甚至可能吗?我们当然可以授予应用程序这样的访问权限,但是,浏览器甚至支持这个吗?)

如果没有专用服务器就无法选择 HTML/JS,是否还有其他方法可以轻松完成这项工作?我们不想以 MS Access 告终... :(

【问题讨论】:

  • 不要这么认为,在另一个线程中只提供本地存储,但是,它应该访问网络共享上的数据库文件(当然可以通过系统的文件系统访问)。
  • 有一个纯 javascript 中的 sqlite 实现,您可以尝试。我主要是为 NodeJS 编写的,但据说也可以在客户端工作。然而,主要问题将是访问数据库文件。 github.com/kripken/sql.js

标签: javascript sqlite


【解决方案1】:

如果不怕安全问题,请使用HTA application。将您的 html 文件重命名为 *.hta,然后与您的数据库建立 ODBC 连接:

var Connection = new ActiveXObject ('ADODB.Connection');
Connection.Open (<ODBC-name>);
var Records = new ActiveXObject ('ADODB.Recordset');
Records.Open (Sql, Connection, 0, 2);

请参阅Properties & Methods for ADO Recordset Object。

【讨论】:

  • 很确定他不想在所有客户端上安装新的 ODBC 驱动程序。
  • 他可以制作连接字符串:connectionstrings.com/sqlite3-odbc-driver
  • 是的,但所有要访问此文件的计算机都需要先安装ch-werner.de/sqliteodbc。但是,该驱动程序似乎只在 Windows 2000 之前进行了测试,因此它可能无法在较新的系统上运行。
  • 他们喜欢«使用 JS 访问本地 SQLite DB»。不用驱动也可以吗?
  • 我在上面的cmets中发布的js-driver应该可以实现。
猜你喜欢
  • 2017-03-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2012-10-22
  • 1970-01-01
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多