Google Cloud - подключите сервер Sql к скрипту Google Apps - PullRequest
1 голос
/ 01 декабря 2019

У меня проблемы с подключением сервера sql в облаке Google к скрипту приложений Google, пробовал много вариантов подключения URL, таких как: Jdbc.getCloudSqlConnection ("jdbc: google: mysql: // apis-para-pap: southamerica-east1: revistamarcasserver "," sqlserver "," ***** ");но не соединяется, исключение: не удалось установить соединение с базой данных. Проверьте строку подключения. Можете ли вы помочь мне решить эту проблему, чтобы подключить Sql Server к Google Apps Script ?

Информация о Google Cloud Sql Server:

  • Тип БД: SQLServer 2017 Standard
  • Расположение: southamerica-east1-b
  • Имя экземпляра: apis-para-pap: southamerica-east1: revistamarcasserver
  • Публичный адрес: 34.95.157.142
  • Белый список: (72.14.192.0/18) (64.233.160.0/19) (209.85.128.0/17) (66.102.0.0/20) (74.125.0.0/16) (173.194.0.0/16) (66.249.80.0/20) (64.18.0.0/20) (216.239.32.0/19) (207.126.144.0/20)

(наблюдение: с помощью студии управления сервером sql я проверил и подключилсяуспешно, с этой информацией).

Большое спасибо

1 Ответ

0 голосов
/ 04 декабря 2019

Я создал Облачный экземпляр SQL , , авторизовал следующие диапазоны IP-адресов и смог подключиться к нему с помощью публичного IP-адреса. Я не могу подключиться, используя имя подключения Instance.


var db = 'mydatabase';
var instanceUrl = "jdbc:mysql://Public_IP_address_SQL";
var dbUrl = instanceUrl + '/' + db;

/**
* Create a new database within a Cloud SQL instance.

*/
function createDatabase() {
var conn = Jdbc.getConnection(instanceUrl,{user: 'root', password: '****'} );
conn.createStatement().execute('CREATE DATABASE ' + db);
}

/**
* Create a new user for your database with full privileges.
*/
function createUser() {
var conn = Jdbc.getConnection(dbUrl,{user: 'root', password: '****'});

var stmt = conn.prepareStatement('CREATE USER ? IDENTIFIED BY ?');
stmt.setString(1, user);
stmt.setString(2, userPwd);
stmt.execute();

conn.createStatement().execute('GRANT ALL ON `%`.* TO ' + user);
}

/**
* Create a new table in the database.
*/
function createTable() {
var conn = Jdbc.getConnection(dbUrl, {user: 'new_user', password: '****'});
conn.createStatement().execute('CREATE TABLE entries '
    + '(guestName VARCHAR(255), content VARCHAR(255), '
    + 'entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID));');
}


createDatabase()
createUser() 
createTable()

}   
...