以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