2017-09-01 71 views
0

我有以下代碼用於從Google App腳本連接到mySQL服務器。它在移動服務器之前正在工作。現在,即使我輸入了新信息(地址,姓名,密碼),它也不再有效。我收到的錯誤「無法建立數據庫連接,請檢查連接字符串,用戶名和密碼。」我不熟悉服務器,需要弄清楚如何解決這個問題。我有膩子,但我不熟悉它 - 我嘗試過,但它仍然無法連接。我在下面列出了我的衛生連接代碼。來自Google App腳本的JDBC/mysql連接字符串問題

var address = //'address:port'; 
var user = //'username'; 
var userPwd = //'password'; 
var db = //'databasename'; 
var dbUrl = 'jdbc:mysql://' + address + '/' + db; 

function testsql() { 
    var conn=Jdbc.getConnection(dbUrl,user,userPwd); 

    var stmt = conn.prepareStatement("show databases"); 
    var dbList = stmt.executeQuery(); 
    dbList.next(); var row = 0; 
    Logger.log("Start of Log:"); 
    while(dbList.next()){ 
    Logger.log(dbList.getString(1)); row++; 
    } 
} 

如果代碼格式正確,還有另一種方法來測試連接字符串嗎?

我確實發現了這個問題,但我不是100%,那就是問題所在。 Google Apps Script JDBC connection problem

感謝您的幫助!

回答

0

另一種可能性

您的代碼對我來說看起來不錯。但是如果你想嘗試一些不同的東西,這個也會創建一個對話框來顯示所有的數據。你歡迎它。我可以告訴你,我在我的網站上有一個我永遠無法訪問的數據庫,但是我轉移到了一個朋友網站,然後直接進入了該網站。我認爲,第一個網站可能阻止了來自谷歌的IP地址,以阻止所有網絡垃圾郵件。

function returnAQuery(q) 
{ 
    var s = ''; 
    var address = //'address:port'; 
    var user = //'username'; 
    var userPwd = //'password'; 
    var db = //'databasename'; 
    var dbUrl = 'jdbc:mysql://' + address + '/' + db; 
    s += dbUrl + ', ' + user + ', ' + userPwd + '<br />'; 
    s += q + '<br />'; 
    var conn = Jdbc.getConnection(dbUrl, user, userPwd); 
    var stmt = conn.createStatement(); 
    var results = stmt.executeQuery(q); 
    if(results) 
    { 
    var numCols = results.getMetaData().getColumnCount(); 
    for(var col = 0;col < numCols;col++) 
    { 
     if(col>0)s+=' , '; 
     s += results.getMetaData().getColumnName(col + 1); 
    } 
    s += '<br />'; 
    while (results.next()) 
    { 
     var rowString = ''; 
     for (var col = 0; col < numCols; col++) 
     { 
     if(col>0)s+= ' , '; 
     s += results.getString(col + 1); 
     } 
     s += '<br />'; 
    } 
    var ui=HtmlService.createHtmlOutput(s).setWidth(1200).setHeight(450); 
    SpreadsheetApp.getUi().showModelessDialog(ui, 'JDBC'); 
    } 
    else 
    { 
    s += 'No results returned from query'; 
    } 
}