热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

ODBC简介开放数据库连接(OpenDatabaseConnectivity),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}

page.html代码:











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

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

可以远程操作数据库。


总结

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

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


推荐阅读
  • 本文探讨了如何利用 Application 对象在 PHP 应用程序中共享数据,特别是在多用户环境中保持数据的一致性和安全性。文章还介绍了 Application 对象的基本结构、方法和事件,并提供了实际应用示例。 ... [详细]
  • ANSI最全介绍linux终端字体改变颜色等ANSI转义序列维基百科,自由的百科全书由于国内不能访问wiki而且国内关于ANSI的介绍都是简短的不能达到,不够完整所以转wiki到此 ... [详细]
  • 本文讨论了在使用表单上传文件时遇到的值为空问题,并提供了几种有效的解决方案。 ... [详细]
  • 本文旨在探讨Linux系统中两种重要的进程间通信(IPC)机制——System V和POSIX的标准及其特性,为开发者提供深入的理解。 ... [详细]
  • 本文作者分享了在某大型IToIP解决方案提供商参与多个项目开发的经验与感悟,特别是在软件工程方法论上的思考,提出了对现有开发模式的见解及改进建议。 ... [详细]
  • Hibernate入门指南:单表数据库操作详解
    本文介绍了Hibernate作为全面的ORM框架的基础知识,并详细讲解了在MyEclipse环境中配置Hibernate以及进行基本的数据库单表操作的方法,包括增删改查等常见操作。 ... [详细]
  • 深入解析ASP.NET中的HttpHandler、HttpModule与IHttpHandlerFactory
    本文探讨了ASP.NET页面生命周期中的关键组件——HttpHandler、HttpModule和IHttpHandlerFactory的工作原理及其应用场景。通过实例分析,帮助读者更好地理解和利用这些组件来优化Web应用程序。 ... [详细]
  • 死锁的概念“死锁”指的是:多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致两个或者多个线程都在等待对方释放资源 ... [详细]
  • Windows 系统中 Flutter 与 IntelliJ IDEA 的环境配置指南
    本指南详细介绍了如何在 Windows 操作系统上设置 Flutter 开发环境,并集成至 IntelliJ IDEA 中,适合初学者及专业人士参考。 ... [详细]
  • 本文探讨了一种方法,通过开发C#应用程序来拦截并处理从遗留系统发出的Http请求,该系统原本依赖于已停止服务的Web服务。解决方案涉及使用代理技术或HTTP监听器来捕获和重定向这些请求。 ... [详细]
  • 实践指南:利用Jenkins与JMeter实现自动化测试报告通知
    本文详细介绍了如何结合Jenkins和JMeter工具,通过自定义脚本向用户发送测试报告的通知。这不仅提高了开发团队的工作效率,也确保了信息的及时传递。 ... [详细]
  • 解决MySQL Administrator 登录失败问题
    本文提供了解决在使用MySQL Administrator时遇到的登录错误的方法,包括启动变量和服务部分禁用的问题。同时,文章还介绍了通过安全配置模式来解决问题的具体步骤。 ... [详细]
  • 2023年PHP处理请求超时的全面指南
    本文详细介绍了在PHP中处理请求超时的各种方法,包括设置脚本执行时间、处理file_get_contents函数超时以及优化AJAX请求等,适合开发者参考学习。 ... [详细]
  • Docker环境下Redis的安装与配置
    本文详细介绍了如何在Docker环境中安装和配置Redis,包括镜像下载、容器启动、连接测试以及持久化设置等步骤。同时,还提供了使用Redis可视化管理工具的方法,帮助用户更好地管理和监控Redis实例。 ... [详细]
  • Java 中SimpleDateFormat 错误用法及改正 ... [详细]
author-avatar
阿爷取的名字-Xx
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有