2017-09-29 1 views
0

Ich verwende Dokumenteigenschaften in meinem Google Apps-Skript, um die MySQL-Datenbankverbindungszeichenfolge zu speichern und den Fehler TypeError zu erhalten: Kann die Methode "setProperties" von null in Zeile 2 nicht sicher, was der Grund könnte Sein.Google apps script-Methode getDocumentProperties gibt null zurück

dbmysqlconndev = PropertiesService.getDocumentProperties(); 
    dbmysqlconndev.setProperties({ 
    'mysqlUrl': 'jdbc:mysql://dbserverdev;databaseName=sample', 
    'mysqlUser': 'username', 
    'mysqlPassword': 'password'}); 
    var keys = dbmysqlconndev.getKeys(); 
    for (var i = 0; i < keys.length; i++) { 
     dbmysqlconndev.getProperty(keys[i]); 
    } 

var mysqlurl = dbmysqlconndev.getProperty(keys[0]); 
var mysqlusr = dbmysqlconndev.getProperty(keys[1]); 
var mysqlpwd = dbmysqlconndev.getProperty(keys[2]); 

Antwort

0

Der Grund dafür ist, wie die Fehlermeldung sagt, dass dbmysqlconndev null ist. Nun, was würde PropertiesService.getDocumentProperties() null zurückgeben? Lesen wir weiter seine documentation:

It is only available if the script is published and executing as an add-on or if it is bound to a Google file type. When document properties are not available this method returns null.

das wäre also, warum: Sie sind wahrscheinlich das als Stand-alone-Skript ausgeführt wird. Verwenden Sie getScriptProperties anstelle von getDocumentProperties.

+0

Ich versuche, eine Skriptbibliothek für meine MySQL-Datenbank Verbindungszeichenfolge zu erstellen und die Funktion DBConn() von anderen Skripten aufzurufen. – user25407

+0

dbmysqlconndev = EigenschaftenService.getDocumentProperties(); dbmysqlconndev.setProperties ({ 'mysqlUrl': 'jdbc: mysql: // dbtest; datenbankname = test', 'mysqlUsr': 'un', 'mysqlPwd': 'pd'}); var keys = dbmysqlconndev.getKeys(); für (var i = 0; i user25407