javascript - 使用 JavaScript 连接到 Oracle 数据库

标签 javascript oracle

我想通过 JavaScript 代码连接到 Oracle 数据库。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
    <title>Connecting to Oracle using JavaScript</title>
</head>

<body>
    <script language="JavaScript" type="text/javascript">
        <!--
        var conObj = new ActiveXObject('ADODB.Connection');

        var connectionString = "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.119.132.175)(PORT=1521)))(CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED)));User Id=mdm;Password=admin;"

        conObj.Open(connectionString);
        var rs = new ActiveXObject("ADODB.Recordset");
        sql = "SELECT SYSDATE FROM DUAL"

        rs.Open(sql, conObj);
        alert(rs(0));
        rs.close;
        conObj.close;
        //-->
    </script>
</body>

</html>

我收到 ActiveXObject 未定义错误 ActiveXObject 似乎不适用于 Chrome 浏览器!

最佳答案

有几个问题需要考虑

  • 您需要客户端中有一个驱动程序来处理数据库
  • 由于您想从客户端进行连接,因此您的凭据必须存在于客户端。
  • 您的数据库端口和网址必须可通过浏览器访问

所有这些问题都意味着您的数据库将完全暴露给任何人

为了避免一些风险,我认为最好的方法(如果您仍然想避免服务器代码)是使用 Oracle 提供的 Web 服务。 oracle 文档中有几个使用 SOAP 和 REST 的示例,here an example using REST 。创建资源后,您可以使用 ajax 调用该资源。为了防止尝试执行跨源ajax时浏览器做出的限制,您应该设置 Access-Control-Allow-Origin数据库服务器中的 header 。这样您就可以访问数据库而无需服务器代码。

关于javascript - 使用 JavaScript 连接到 Oracle 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51402225/

相关文章:

javascript - 获取最后选择的值

javascript - 即使我调用了 bind(),ReactJS 状态也未定义

sql - 在单个查询中检索 CURRVAL 和 NEXTVAL

java - 从 datasource.getConnection() 获取 OracleConnection

sql - 查询以返回具有重复字符串/数字的所有记录

JavaScript 错误地将毫秒转换为日期?

java - 是否有 API/LIB 可以删除 JavaBackend 中的 JavaScript?

JavaScript 函数不会加载 html 页面

Oracle 更改夏令时的时间戳列值

oracle - 如何使用 Oracle 自治数据库比较两个对象存储存储桶中的文件?