【问题标题】:How to access an Access database using JavaScript?如何使用 JavaScript 访问 Access 数据库?
【发布时间】:2008-12-16 10:15:20
【问题描述】:

我必须通过我的网站显示我学生的分数。该数据库是使用Microsoft Access 创建的。当每个学生输入注册号时,如何在表格中显示他们的分数?

【问题讨论】:

标签: javascript database


【解决方案1】:

我知道这是一个老问题,但我碰巧遇到了这个项目,AccessDB,与这个问题同时,所以我想我会发布它。请注意,它表示它适用于 Internet Explorer。我猜他们正在使用 Microsoft 独有的功能来访问该文件,但我真的没有调查过。

来自他们的网站:

ACCESSdb 是一个 JavaScript 库,用于动态连接和 查询本地可用的 Microsoft Access 数据库文件 IE浏览器。您只需要一个 .mdb 文件;访问甚至没有 需要安装!

http://accessdb.sourceforge.net/

【讨论】:

    【解决方案2】:

    JavaScript 不能直接访问数据库。您需要有一些服务器端组件来接收请求(可能通过 HTTP),解析它们并返回请求的数据。

    然后 JavaScript 可以访问该组件以获取数据(嗯...闻起来像 AJAX)。

    【讨论】:

    • 你知道你可以用Javascript而不是VB脚本编写ASP页面吗?
    • 不,我没有。我不是 ASP 人,我更喜欢 Java 方面的东西
    【解决方案3】:

    为什么要使用 Javascript?它在站点访问者的浏览器中运行,即使有办法让它直接访问数据库(没有),这将是一个可怕的安全风险,因为它必须包含数据库密码,这样网站的每个访问者都可以完全访问数据库。

    您需要的是在服务器上运行并访问数据库以根据在 HTML 表单中输入的数据向访问者提供不同页面的东西。用于此的典型语言是 PHP、Perl、Ruby 或 ASP。

    另请注意,MS Access 作为 Web 应用程序的数据库后端是一个非常糟糕的选择,因为它不支持来自不同用户的并发访问。

    总而言之,您似乎需要比本网站提供的更直接的帮助;尝试寻找您所在地区的网络应用专家。

    【讨论】:

    • 你知道你可以用Javascript而不是VB脚本编写ASP页面吗?
    • 任何只读网络应用程序都可以访问。在这种情况下,并发不是问题。
    • 我不知道具体的 ASP 页面可以用 JS 编写,但我知道它不仅可以在浏览器中运行;尽管如此,它仍然是最常见的情况,我认为羞辱很可能意味着客户端 JS。我的理解是,即使是只读访问,Access 也会限制并发用户
    • 访问没有问题,只要您不在网站上同时开始在网络上共享文件即可。我在一些相当繁忙的网站上使用过它(不是我的选择),它运行良好,没有问题。不要将数据库放在网络根目录下,否则可以一次性下载。
    • 只是我,还是你忘了Node.js,即服务器端的JS?当然,Access 根本不是最好的解决方案,但您可能需要它的原因可能有很多。我认为this answer 可能会有所帮助
    【解决方案4】:

    如果您正在寻找客户端数据库访问,那么其他人所说的。

    如果您只是在寻找一种访问数据库的方法(不在浏览器中),并且 Javascript 是您最熟悉的语言,请尝试 JSDB。 (它是一个 Javascript 外壳,通过 ODBC、SQLite 和平面文件绑定数据库)我已经使用了很多,它是我首选的脚本外壳。

    【讨论】:

      【解决方案5】:

      这个问题很久以前就被问过了,最近我发现了一些对未来访问者有帮助的东西。 您实际上可以通过这个名为 mysqljs 的 javaScript 库访问您的数据库,可以从 http://www.mysqljs.com 下载该库

      代码语法:

                MySql.Execute(
          "mysql.yourhost.com", 
          "username", 
          "password", 
          "database", 
          "select * from Users", 
          function (data) {
              console.log(data)
      });
      

      注意:默认情况下没有安全性,您要编写自己的安全性代码

      【讨论】:

        【解决方案6】:

        我很久没有使用 M$ Access,但我认为他们有一些非常好的方法可以将数据导出为 HTML 格式。那将是静态 HTML 代码,但这对于您想要做的事情来说已经足够了。绝对比编写数据库后端容易...

        【讨论】:

          【解决方案7】:

          你是从客户端思考,而你应该从服务器端思考。

          您需要在服务器端有一个脚本来查询 Access,并根据表单中提供的注册号的值为其创建 HTML。

          脚本语言由您决定。鉴于您使用的是 Access,我想 Microsoft 系列语言中的一种会是最好的,并且您的机构已经有一个 Web 服务器(可能是 IIS)来托管您的网站。

          第一件事:

          • 贵机构正在运行什么服务器软件?这决定了要使用的最佳编程语言。
          • 您有多少预算。如果它接近于零,那么您正在寻找免费的 IDE。无论服务器操作系统如何,在 Eclipse 中开发并在 Tomcat 上部署可能会更好。
          • 你懂什么语言?
          • 获取有关使用您选择的技术进行网站编程的书籍。例如对于 Java,我建议将 Struts 和 Tiles 用于这样的简单网站。
          • 您可能希望将数据从 Access 迁移到数据库后端 - 如果您的机构已有许可证,则为 MSSQL;如果您的预算为零,则为 MySQL 或 PostgreSQL。

          从您的问题看来,这对您来说是全新的。然而,这是一个小项目,因此是学习如何编写交互式网站的理想起点。

          【讨论】:

            【解决方案8】:

            JavaScript(或任何客户端语言)无法访问仍位于服务器上的内容。您最好的选择是使用 AJAX 实现并拥有一系列 Web 服务,您可以从 JavaScript 查询这些服务并以可用格式(很可能是 JSON)返回结果。

            【讨论】:

              【解决方案9】:

              这是一个简单的 ASP (vbscript) 脚本,它将您的数据转储到一个表中。您可以编辑路径和查询以适应您的情况。正如其他人所提到的,它不能提供良好的安全性。

              用 FILENAME.asp?regno=xxxxx 调用它

              <%
              Set Conn = Server.CreateObject("ADODB.Connection")
              Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:/YourDatabase.mdb"
              SQL = "Select * from TABLENAME where regno=" & request("regno")
              set RS= Conn.execute(SQL)
              %>
              <table>
                  <tr>
                  <% for x=0 to rs.fields.count-1 %>
                      <th><%=RS.fields(x).value%></th>
                  <% next %>
                  </tr>
                  <% do until RS.eof %>
                      <tr>
                          <% for x=0 to rs.fields.count-1 %>
                              <td><%=RS.fields(x).value%></td>
                          <% next %>
                  </tr>
                  <% rs.movenext %>
                  <% loop %>
              </table>
              <%
              RS.close()
              set Conn=nothing
              %>
              

              【讨论】:

                【解决方案10】:

                您可以使用 PHP 将登录详细信息传递到访问数据库,以便提供更安全的登录。 最好还是将 mySql 与 PHP 一起使用。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-03-16
                  • 2018-04-02
                  • 1970-01-01
                  • 2023-03-23
                  • 1970-01-01
                  相关资源
                  最近更新 更多