microsoft management manage sql-server google-apps-script google-spreadsheet azure-sql-database google-docs

management - Conectar Google App Script a SQL Server en Azure(DBaaS)



sql azure vs sql server (2)

Intento conectar una hoja de cálculo de Google a una instancia de SQL Server alojada en Azure (DBaaS) con Google App Script. Sigo recibiendo un mensaje de error que indica que mi cadena de conexión no es válida a pesar de mis numerosos intentos de modificar el código. Puedo conectarme a esta instancia de SQL Server en Azure usando Microsoft SQL Server Management Studio y HeidiSQL desde mi máquina local. Tenga en cuenta que tengo una lista blanca con cada dirección IP (0.0.0.0 a 255.255.255.255) para asegurarme de que no se trata de un problema de firewall que me impide conectarme.

//var conn = Jdbc.getConnection(''jdbc:sqlserver:MyDBName.database.windows.net:1433/MyDBName'', ''MyDBUserName'', ''MyDBPassword''); // SECOND ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net:1433;''+ ''databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword;''); // THIRD ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net/MyDBName:1433'', ''MyDBUserName'', ''MyDBPassword''); // FOURTH ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''MyDBName.database.windows.net'',''MyDBUserName'', ''MyDBPassword''); // FIFTH ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net'', {user:''MyDBUserName'', password:''MyDBPassword''}); // SIXTH ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''MyDBName.database.windows.net'', {user:''MyDBUserName'', password:''MyDBPassword''}); // SEVENTH ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net:1433/MyDBName'', {user:''MyDBUserName'', password:''MyDBPassword''}); // EIGHT ITERATION OF CONNECTION STRING //https://developers.google.com/apps-script/reference/jdbc/jdbc //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net/MyDBName:1433'', {user:''MyDBUserName'', password:''MyDBPassword''}); // NINTH ITERATION OF CONNECTION STRING - Now I''m just throwing anything at the wall and seeing what sticks! //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net/MyDBName;user=MyDBUserName;password=MyDBPassword''); // TENTH ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''jdbc:mysql://MyDBName.database.windows.net/MyDBName:1433'', {user:''MyDBUserName'', password:''MyDBPassword''}); // ELEVENTH ITERATION OF CONNECTION STRING //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net:1433;databaseName=MyDBName'',''MyDBUserName'',''MyDBPassword''); //TWELVTH //var conn = jdbc:sqlserver://MyDBName.database.windows.net;database=MyDBName;user=MyDBUserName;password=MyDBPassword; // THIRTEENTH //var conn = Jdbc.getConnection(''jdbc:sqlserver://MyDBName.database.windows.net;user=MyDBUserName;password=MyDBPassword;databaseName=MyDBName;''); // FOURTEENTH //var conn = Jdbc.getConnection("jdbc:sqlserver//MyDBName.database.windows.net:1433;databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword"); // FIFTEENTH //var conn = Jdbc.getConnection("jdbc:sqlserver://MyDBName.database.windows.net:1433;databaseName=MyDBName","MyDBUserName","MyDBPassword"); // SIXTEENTH // http://stackoverflow.com/questions/18978380/error-when-connecting-to-mssql-server-with-google-apps-script-via-jdbc?rq=1 //var conn = Jdbc.getConnection("jdbc:sqlserver://NumericalIPAddress:1433;" + "databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword;"); // SEVENTEENTH // same as above with one less semicolon //var conn = Jdbc.getConnection("jdbc:sqlserver://NumericalIPAddress:1433;" + "databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword"); //EIGHTEENTH // http://stackoverflow.com/questions/15440939/querying-sql-server-with-google-apps-script-via-jdbc var conn = Jdbc.getConnection("jdbc:sqlserver://MyDBName.database.windows.net:1433;databaseName=MyDBName","MyDBUserName","MyDBPassword");


Puede encontrar la cadena de conexión exacta que debe usar para su base de datos en el portal. Haga clic en la base de datos en el portal actual ( https://manage.windowsazure.com ) y verá una sección que dice "Conéctese a su base de datos" a continuación que dice "Ver cadenas de conexión de la base de datos SQL para ADO". Net, ODBC, PHP y JDBC.

Alternativamente, si está utilizando la nueva versión del Portal Azure ( https://portal.azure.com ), puede encontrar las cadenas de conexión a través de Buscar todo> Bases de datos SQL> Nombre MyDB> Mostrar cadenas de conexión a la base de datos.

El ejemplo que me proporciona se ve así: jdbc: sqlserver: //server21.database.windows.net: 1433; database = Test; user = myuser @ server21; password = {your_password_here}; encrypt = true; hostNameInCertificate = *. Database .windows.net; loginTimeout = 30;


Intento conectarme a una base de datos de Azure y descubrí que la cadena de conexión JDBC especificada en Azure Portal y la muestra de Google no funcionan como están. Azure one contiene varias propiedades que el motor de script dice que no son compatibles y Google (actualizado de MySQL) no funciona. Esto es lo que tengo que trabajar:

var user = ''USER@SERVER''; var userPwd = ''PASSWORD''; var database = ''DB_NAME'' var connectionString = ''jdbc:sqlserver://SERVER.database.windows.net:1433;databaseName='' + database; var conn = Jdbc.getConnection(connectionString , user, userPwd);

NOTA: "database =" no es compatible, pero se admite "databaseName =". Ninguna de las etiquetas de cifrado o certificado son compatibles.

Además, hay un gran conjunto de rangos de IP que debe agregar a las reglas de firewall en su instancia de servidor. Si usa el portal para agregar estas notas, solo puede hacer un cambio en las reglas del firewall a la vez; esto significa agregar un rango, guardar, repetir. No agregue los 10 y luego obtenga un error al intentar guardarlos (como lo hice la primera vez). ver: https://developers.google.com/apps-script/guides/jdbc