以JavaScript连接mysql数据库为例说明通过ODBC连接数据库的通用方法


 

 

ODBC简介

开放数据库连接(Open Database Connectivity),ODBC是为解决异构数据库间的数据共享而产生的,ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取不同DBMS管理的数据;使应用程序直接操纵DB中的数据,免除随DB的改变而改变。

ODBC由应用程序、驱动管理器、 驱动程序 、数据源组成。在本实验中我们只需要下载、安装驱动程序,并配置数据源。


 

下载、安装驱动程序

以mysql驱动程序为例。

首先进入官方下载网站:https://dev.mysql.com/downloads/connector/odbc/

根据自己设备来下载安装包,然后按默认设置安装即可。

注意:

若在javascript中连接数据库,不能随意选择安装包位数。要根据设备上IE浏览器的位数来选择。比如我的设备的操作系统是Windows 64位,但是IE浏览器是32位的,所以应该选择32位的安装包。

若在java、python等语言中连接数据库,则不需要考虑以上问题。


 

配置数据源

下载的是多少位的mysql驱动程序,就要使用多少位的ODBC。以我的设备为例,我下载了32位的mysql驱动程序,所以使用32位ODBC。打开本机的32位ODBC程序:

选择系统DSN,点击添加,选择要使用的mysql驱动程序:

然后对其进行配置:

其中,Data Source Name为数据源名称,可任意取名.

TCP/IP Server 中,填写polarDB for mysq提供的连接地址。

User中,填写polarDB for mysq提供的用户名。

Password中,填写polarDB for mysq提供的密码。

Database中,填写polarDB for mysq提供的数据库名称。

可以点击test按钮测试数据源的配置是否成功。


 

编写JavaScript代码测试

若用html文件中内联的JavaScript代码连接到数据库,必须使用IE浏览器来运行html文件。

成功连接数据库的关键是正确书写数据库连接串。其中DSN就是用户自定义的数据源名称。

connect.js源代码:

function connectToDB(){
​
    //创建数据库连接对象
    var conn = new ActiveXObject("ADODB.Connection");
    //创建数据集对象
    var rs = new ActiveXObject("ADODB.Recordset");
    try{
    //数据库连接串
    var connectionstring = "DSN=zhg_mysql2;Server=pc-bp18rn0tqu85a1600-public.rwlb.rds.aliyuncs.com;Database=db_zhg;User=lab_420510322; Password=a540a1f12517_#@Aa;Port=3306";
    //打开连接
    conn.open(connectionstring);
    //若成功连接输出提示信息
    alert("connect to polarDB for Mysql succeed");
    
    //查询语句
    var sql = " select * from student ";
    //打开数据集(即执行查询语句)
    rs.open(sql,conn);
​
    var str="";     //储存查询结果
var len = rs.Fields.count;      //一个元组的属性数量
    
    var flag=true;      //判断是否输出列名
    //遍历所有记录
    while(!rs.eof){
        //处理第一个元组时先输出列名
        if(flag){
            for(var i=0;i<len;i++){
                str+=rs.Fields(i).Name;
                if(i==0)
                    str+='\t\t';
                else
                    str+='\t';
            }
            str+='\n';
            flag=false;
        }
        //遍历输出所有元组
        for(var i=0;i<len;i++){
            str += rs.Fields(i).Value;
            str+='\t';
        }
        str+='\n';
        
        //迭代器读入下一条记录
        rs.moveNext();
    }
    //输出查询结果
    alert(str);
    //关闭记录集
    rs.close();
    //关闭数据库连接
    conn.close();
    } catch(e){
    //异常报告
        alert(e.message);
    } finally{
    }
}

 

page.html代码:

<!DOCTYPE html>
<html lang="en"><head>
    <meta charset="utf-8" />
    <title>myhtml</title>
    <script type="text/javascript" src="connect.js"></script></head><body>
    <script>
      connectToDB();
    </script>
</body></html>

 

使用IE浏览器打开page.html文件,若出现以下结果,说明数据库连接成功。

之后js代码中执行了简单的查询SQL,结果如下:

可以远程操作数据库。

 

总结

本文说明了如何编写html内联js代码连接远程数据库的方法。实际上,JavaScript因为安全性问题一般不会被用作连接数据库,推荐使用java等服务端语言来编写连接数据库的代码。

使用ODBC为应用程序连接数据库的方法实际上也早已过时,在使用java、python等服务端语言编写连接数据库的代码时,更推荐使用已封装好的模块或包,如mysql-connectoe-java-8.0.26.jar,pymysql 模块等。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM