我想通过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浏览器! 任何人都可以帮助我使用javascript连接到Oracle数据库! 预先感谢。
答案 0 :(得分:1)
要考虑几个问题
所有这些问题都意味着您的数据库将完全暴露给任何人。
为避免某些风险,我认为最好的方法(如果您仍想避免服务器代码)是使用oracle提供的Web服务。在oracle docs中有使用SOAP和REST here an example using REST的几个示例。一旦创建了资源,就可以使用ajax调用该资源。为了防止浏览器在尝试执行跨源Ajax时造成的限制,应在数据库服务器中设置一个Access-Control-Allow-Origin头。这样,您无需服务器代码即可访问数据库。
答案 1 :(得分:0)
您不能直接从浏览器进行连接,但是可以使用npm模块“ oracledb”在NodeJS中使用JavaScript进行连接。我已经在生产中使用它大约三年了,它确实运行良好。