连接到 MS Access 数据库的网页

问题描述

我想从网页中连接到 MS Access 数据库。我不太关心安全性,因为它只在内部工作服务器上运行。我尝试了以下代码(JavaScript 和 HTML),并且遇到了广泛记录的问题(不适用于 Chrome、Firefox 等),我也无法让它在 MS Edge 上工作。

<script>
// Function to Check the login from MS Access database 
function checkLogin()  
{  
    var usname = document.getElementById("tbuname").value; 
    var pwd = document.getElementById("tbpwd").value; 
    // Code to connect the MS Access database using java Script 
    
    var cn = new ActiveXObject("ADODB.Connection"); 
    var strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = W:/TestDatabase.accdb";  
    var rs = new ActiveXObject("ADODB.Recordset"); 
    // Assume there is a table in MS Access database with the name "tUSERS",below is the query for authentication 
    //var sql = "select PASSWORD from tUSERS where USERNAME = ‘" + usname + "‘";
    var sql = "select * from tUSERS" ;      
    cn.Open(strConn);  
    rs.Open(sql,cn); 
    if(!rs.eof) 
    { 
        if(rs.fields(0).value == pwd){
        document.getElementById("demo").innerHTML = rs.fields(1).value;         
        location.href="main.htm?uname="+usname; }
    else 
        alert("wrong username or password!"); 
    } 
    else {
    alert("wrong username or password!"); 
    rs.Close();  
    cn.Close(); }
}; 

</script>

<body style="margin:0;"> 
<table width="1000px" cellpadding="0″ cellspacing="0″> 
<tr> 
<td> 
&nbsp; 
</td> 
</tr> 
<tr> 
<td> 
&nbsp; 
</td> 
</tr> 
<tr> 
<td> 
Username : <input type="text" id="tbuname" name="tbuname" /> 
<br /> 
Password : <input type="password" id="tbpwd" name="tbuname" /> 
</td> 
</tr> 
<tr> 
<td> 
<input type="button" id="btnsbt" name="btnsbt" value="Login" onclick="checkLogin()"><br /> 
<br /> 
&nbsp;</td> 
</tr> 
<p id="demo"></p>
</table> 
</body>

谁能帮我用当代的方式来做这件事?我了解到 cn =new ActiveXObject("ADODB.Connection") 现在已经过时。

注意:我不太可能说服 IT 安装任何其他库等。服务器目前没有 PHP 功能。我一直在寻找,但在此处尝试过的代码之外找不到任何代码示例。

我熟悉 HTML、VBA、sql,并且刚刚开始涉足 JavaScript,所以掌握一些技巧会很好

:)

谢谢

解决方法

Edge 在没有插件的情况下不支持 ActiveX。尝试使用 Internet Explorer 或获取插件。您可能还需要将数据库保存为旧的 Access 2003 mdb 格式,以便 JET 驱动程序工作。

您也可以使用 python 或 node 脚本从 MS Access 中检索带有网络服务器的记录,但这将花费您更长的时间来学习。