Javascript 连接到本地H2数据库的HTML表单

Javascript 连接到本地H2数据库的HTML表单,javascript,html,sql,h2,Javascript,Html,Sql,H2,我想创建一个HTML表单,用于在localhost上输入/查看数据 数据位于localhost上基于文件的H2数据库中 理想情况下,我只希望使用客户端javascript和HTML,这样用户就不需要运行本地web服务器 我在这里找到了一些关于如何连接的信息: 但是我想知道下一步如何将连接/SQL查询集成到web表单中 我知道,出于安全原因,通常不赞成使用javascript连接到数据库,但在这种情况下,它只能访问本地主机上的数据 另外,是否有任何推荐的javascript库可以使这变得更容易 v

我想创建一个HTML表单,用于在localhost上输入/查看数据

数据位于localhost上基于文件的H2数据库中

理想情况下,我只希望使用客户端javascript和HTML,这样用户就不需要运行本地web服务器

我在这里找到了一些关于如何连接的信息:

但是我想知道下一步如何将连接/SQL查询集成到web表单中

我知道,出于安全原因,通常不赞成使用javascript连接到数据库,但在这种情况下,它只能访问本地主机上的数据

另外,是否有任何推荐的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();
我只想使用客户端javascript和HTML

您的JVM将在哪里运行?H2是一个Java数据库。它在JVM中运行

  • 您是否将其嵌入Java小程序中
  • 您正在使用JavaWebStart吗
这是我所知道的在客户机上运行Java的唯一方法

任何其他都必须连接到服务器



如果我负责实现这一点,我将运行嵌入Java小程序中的H2,然后让我的javascript与小程序对话。但它非常笨重,只在内存中保存数据。为什么不将所有数据保存在javascript数组中?

使用纯javascript解决方案连接到基于java的数据库(如H2)并不容易(尽管H2通过JDBC和HTML公开自己)。
然而,在纯html中使用数据库肯定有一些方法。这些基本上利用浏览器内置的indexeddb和websql存储机制。 此处讨论了javascript库的不完整列表:

  • 劳恩希尔
  • 邮袋数据库
  • 本地饲料
  • 德克西
  • 洛夫菲尔德
  • 洛基斯
  • 阿拉斯库
  • MakeDrive
  • 前驱神经
  • YDN-DB
除了使用纯WebSQL之外,还有其他功能。就我而言,纯WebSQL是最好的解决方案,例如:

我想失去IE/Firefox的兼容性。 但也有shiming WebSQL到IndexedDB的选项,例如:


总之,您可以使用纯javascript处理SQL客户端,但H2不是最好的数据库。WebSQL的优点是,浏览器实际上将数据库存储为SQLite文件(基于文件的存储对我的应用程序很重要)

该教程用于在Nashorn/JVM中运行JavaScript,而不是在web上运行JavaScript。该代码不能在客户端运行。是否有类似的东西可以在客户端运行(H2数据库和JDBC接口也在本地主机上运行?)H2通过本地JRE提供本地JDBC接口。用户将在其本地计算机上安装java,您是否将H2作为服务器运行在该计算机上
localhost
?你的问题是问这个连接的URL是什么?主要的问题是,是否可以使用客户端javascript连接到H2,然后设置一个webform来查看/输入dataWell,无论H2在哪里(在哪台机器上)运行,它仍然作为服务器运行。因此,您正在连接到服务器。因此,这一问题适用。就JDBC连接而言,MySQL与H2没有什么不同。