有办法让js直接访问数据库吗?

有办法让js直接访问数据库吗?,第1张

在IE浏览器可以这样访问(假定为SQL Server数据库):

var conn = new ActiveXObject("ADODB.Connection")

conn.open("Driver={SQL Server}SERVER=(local)UID=saPWD=xxxDATABASE=xxxx")

document.write("数据库连接成功<br>")

在其他浏览器则基本没法实现,或者需要极低的安全级别,毕竟用js直接 *** 作数据库是非常不安全的高风险行为,浏览器可不敢背这锅。

我知道 ie 怎么连接,别的浏览器不行。首先先去mysql官网下载个 odbc 然后安装,安装完再去控制面板找到“管理工具”--》“(ODBC)数据源”--》(如果是在自己电脑上测试就选

“用户DSN”,如果想被别人访问就选“系统DSN”) 然后添加mysqlodbc,然后把驱动的名字记下来(不是你起的名字,是后面自带的名字!),准备工作做完,我们就可以通过代码访问数据库了。(注:我第一次安装ODBC,用js调用时提示我未知数据源一类的话,卸载ODBC后再次安装ODBC就正常了) 用 ie 先调用odbc驱动 然后 *** 作mysql,话不多说,上代码!

//创建数据库连接对象

var conn = new ActiveXObject("ADODB.Connection")

//创建数据集对象

var rs = new ActiveXObject("ADODB.Recordset")

try{

//MySQL ODBC 5.3 ANSI Driver这个就是我刚才说让你记得驱动的名字

var connectionstring = "Driver={MySQL ODBC 5.3 ANSI Driver}Server=127.0.0.1User=rootPassword=rootDatabase=mysqlOption=3Port=3306"

console.log(connectionstring)

//打开连接

conn.open(connectionstring)

//查询语句

var sql = " select * from table1 "

//打开数据集(即执行查询语句)

rs.open(sql,conn)

//(或者rs=conn.execute(sql))

//遍历所有记录

while(!rs.eof){

//WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。

//WScript.Echo输出记录的内容

document.write(rs.Fields("id") + "\t" + rs.Fields("name") + "\n")

//下一条记录

rs.moveNext()

}

//关闭记录集

rs.close()

//关闭数据库连接

conn.close()

} catch(e){

//异常报告

document.write(e.message)

} finally{

//

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10028615.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存