FGi*_*ndo 6 html javascript sql h2
我想创建一个HTML表单来输入/查看localhost上的数据.
数据位于localhost上基于文件的H2数据库中.
理想情况下,我只想使用客户端javascript和HTML,这样用户就不需要运行本地Web服务器了.
我在这里找到了一些关于如何连接的信息:http://blog.jooq.org/2014/06/06/java-8-friday-javascript-goes-sql-with-nashorn-and-jooq/
但我想知道如何将连接/ SQL查询集成到Web表单的下一步.
我知道出于安全原因,使用javascript连接数据库通常是不受欢迎的,但对于这个用例,它只会访问localhost上的数据.
此外,是否有任何推荐的JavaScript库,这将使这更容易?
var someDatabaseFun = function() {
var Properties = Java.type("java.util.Properties");
var Driver = Java.type("org.h2.Driver"); //JDBC interface for H2
var driver = new Driver();
var properties = new Properties();
properties.setProperty("user", ""); // database username
properties.setProperty("password", ""); // database password
try {
var conn = driver.connect(
"jdbc:h2:~/db", properties); // connect to database
// Database code here
}
finally {
try {
if (conn) conn.close();
} catch (e) {}
}
}
someDatabaseFun();
Run Code Online (Sandbox Code Playgroud)
使用纯 JavaScript 解决方案连接到像 H2 这样的基于 Java 的数据库并不容易(尽管 H2 通过 JDBC 和 HTML 公开自身)。
然而,确实有一些方法可以在纯 html 中使用数据库。这些本质上利用了浏览器内置的 indexeddb 和 websql 存储机制。这里讨论了 javascript 库的不完整列表http://nolanlawson.com/2015/09/29/indexeddb-websql-localstorage-what-blocks-the-dom/:
这些是对纯 WebSQL 的补充。就我的目的而言,纯 WebSQL 是最好的解决方案,例如:http://www.tutorialspoint.com/html5/html5_web_sql.htm
我愿意失去 IE/Firefox 兼容性。但也有将 WebSQL shiming 到 IndexedDB 的选项,例如: http: //nparashuram.com/IndexedDBShim/
因此,总而言之,您可以使用纯 JavaScript 来使用 SQL 客户端,但 H2 并不是执行此操作的最佳数据库。WebSQL 的优点是数据库实际上由浏览器存储为 SQLite 文件(基于文件的存储对我的应用程序很重要)
| 归档时间: |
|
| 查看次数: |
3191 次 |
| 最近记录: |