繁体   English   中英

使用JavaScript连接到Oracle数据库

[英]Connecting to Oracle database with JavaScript

我想通过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浏览器!

有几个问题要考虑

  • 您需要客户端中的驱动程序来处理数据库
  • 由于您要从客户端连接,因此您的凭据必须位于客户端。
  • 您的数据库端口和URL必须可以通过浏览器访问

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

为了避免某些风险,我认为最好的方法(如果您仍然想避免服务器代码)是使用oracle提供的Web服务。 在oracle docs中有一些使用SOAP和REST 的示例这里是使用REST的示例 一旦创建了资源,就可以使用ajax调用该资源。 为了防止浏览器在尝试执行跨源Ajax时造成的限制,应在数据库服务器中设置Access-Control-Allow-Origin标头。 这样,您无需服务器代码即可访问数据库。

您无法直接从浏览器进行连接,但是可以使用npm模块“ oracledb”在NodeJS中使用JavaScript进行连接。 我已经在生产中使用了大约3年的时间-它确实运行良好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM