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';elsestr+='\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 模块等。

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

  1. python之连接MySQL数据库的简易界面编程(连接数据库+模块搭建+界面搭建+功能完成+效果演示)

    目录 一,连接数据库 下载pymysql软件包的三种方式 方式一 方式二 方式三 新建util包和DBUtil类,完整代码如下 二,模块搭建 建立实体类book 三,界面搭建 新建main包GUI文件 ...

  2. jdbc连接mysql数据库驱动加载失败_Java连接数据库,成功加载SQL驱动程序,但数据库连接失败...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.sql.Connection; import java.sql.DriverManager; import java.sql.St ...

  3. 使用MATLAB连接MySQL数据库

    下载MySQL数据库JDBC Driver 使用MATLAB连接数据库前,需要先下载对应数据库的JDBC Driver.打开MySQL JDBC Driver下载地址,选择Platform Indep ...

  4. c# 连接mysql数据库_C#连接Mysql数据库

    一. ADO.NET访问方式 程序集:Mysql.Data.dll 导入包:using MySql.Data.MySqlClient; 说明:这是MySql为 ADO.NET推出的 访问 Mysql数 ...

  5. Node连接MySQL数据库进行基本的增删改查操作(一看就会)

    Node连接MySQL数据库进行基本的增删改查操作(一看就会) ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ...

  6. Java新手入门200例124之用JDBC连接Mysql数据库

    文章目录 作者简介 引言 导航 热门专栏推荐 一.创建web项目 二.加入Mysql驱动 三.编写查询代码 四.测试查询代码 五.编写插入代码 六.编写修改代码 七.编写删除代码 小结 导航 热门专栏 ...

  7. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  8. java mysql连接池配置_Java数据库连接池的几种配置方法(以MySQL数据库为例)

    一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的lib目录中 1.方法一:在WebRoot下面建文件夹META-INF,里面建 ...

  9. IDEA从零到精通(12)之用C3P0连接Mysql数据库

    文章目录 作者简介 引言 导航 热门专栏推荐 一.下载驱动并加入项目中 二.编写配置文件 三.编写工具类 四.编写测试类 五.测试运行 小结 导航 热门专栏推荐 作者简介 作者名:编程界明世隐 简介: ...

最新文章

  1. 关于tomcat中文乱码的问题解决
  2. java 递归return_java递归和反向递归
  3. 搭建Ubuntu18.04+Anaconda3.x+Pycharm+SimpleITK(一)
  4. 基于WordNet词典的本体源
  5. 栈windows linux,Linux+Windows: 程序崩溃时,在 C++ 代码中,如何获取函数调用栈信息...
  6. 北大OJ(POJ 2795)金银岛
  7. TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN
  8. 面试题32.从1到n整数中1出现的次数
  9. Discuz论坛分表以及memcache缓存优化
  10. 解决12c安装过程中的各种报错
  11. 课后作业3:软件与用户体验调查与分析
  12. CSDN CODE 将于本月底彻底关闭,请尽快迁移到码云
  13. 微信自动回复 html 点击文字,常见微信自动回复经典语录
  14. 太阳时角、太阳高度角、天顶角、太阳方位角和剖面角计算的Python程序
  15. Windows7 Ghost 旗舰装机版
  16. 引介|主流密钥管理项目深度对比
  17. android PMU
  18. 软考(14)-接入网技术-sonet/sdh
  19. 人脸和身份证不匹配_人脸识别身份信息不匹配是什么意思
  20. 全球移动通信系统GSM(2G)

热门文章

  1. 什么是科技项目验收测试?验收测试报告怎么出具?
  2. 【JVM笔记】JVM发展历程—VM(Java虚拟机)介绍
  3. java坦克加快速度_Java坦克大战 (六) 之增加可玩性
  4. echarts python 教程_Echarts入门(零基础小白教程)
  5. 分割字符串(每个子串的ASCII码值的和均为水仙花数)
  6. php的globle超全局变量,php中全局变量global和超全局变量$GLOBALS
  7. windows php gd 支持,windows服务器开启php的gd库方法
  8. NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等
  9. Pygame 教程(4)拓展:使用 subsurface 方法
  10. C/C++数学计算库