Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用Google Apps脚本通过JDBC连接到MSSQL服务器时出错_Sql Server_Jdbc_Google Apps Script - Fatal编程技术网

Sql server 使用Google Apps脚本通过JDBC连接到MSSQL服务器时出错

Sql server 使用Google Apps脚本通过JDBC连接到MSSQL服务器时出错,sql-server,jdbc,google-apps-script,Sql Server,Jdbc,Google Apps Script,我正在尝试使用Google Apps脚本连接到Microsoft SQL Server。我使用的是SQL Server 2008 R2,我使用的是一个建议的脚本,用于读取数据并将其放入电子表格: 错误消息是: 未能建立数据库连接。检查连接字符串、用户名和密码 用户名和密码正常,用户是DBowner。端口也正确,我尝试使用以下方式通过Telnet连接到服务器: o IP地址1433 它是有效的 代码如下: function foo() { var conn = Jdbc.getConne

我正在尝试使用Google Apps脚本连接到Microsoft SQL Server。我使用的是SQL Server 2008 R2,我使用的是一个建议的脚本,用于读取数据并将其放入电子表格:

错误消息是:

未能建立数据库连接。检查连接字符串、用户名和密码

用户名和密码正常,用户是DBowner。端口也正确,我尝试使用以下方式通过Telnet连接到服务器: o IP地址1433 它是有效的

代码如下:

function foo() {
    var conn = Jdbc.getConnection("jdbc:sqlserver://IP-adress:1433/DBName","user","password");
    var stmt = conn.createStatement();
    stmt.setMaxRows(100);
    var start = new Date();
    var rs = stmt.executeQuery("select * from person");
    var doc = SpreadsheetApp.getActiveSpreadsheet();
    var cell = doc.getRange('a1');
    var row = 0;
    while (rs.next()) {
        for (var col = 0; col < rs.getMetaData().getColumnCount(); col++) {
            cell.offset(row, col).setValue(rs.getString(col + 1));
        }
        row++;
    }
    rs.close();
    stmt.close();
    conn.close();
    var end = new Date();
    Logger.log("time took: " + (end.getTime() - start.getTime()));
}
函数foo(){
var conn=Jdbc.getConnection(“Jdbc:sqlserver://IP-adress:1433/DBName“,”用户“,”密码“);
var stmt=conn.createStatement();
stmt.setMaxRows(100);
var start=新日期();
var rs=stmt.executeQuery(“选择*来自个人”);
var doc=SpreadsheetApp.getActiveSpreadsheet();
var cell=doc.getRange('a1');
var行=0;
while(rs.next()){
for(var col=0;col

你知道什么是错的吗?我必须在我的服务器上进行一些配置吗?还是在数据库中?上面提到的说明是为了确保谷歌的Ip地址能够到达数据库。但我没有列出谷歌所有的IP地址,而是允许访问该端口上的所有IP地址。我还在SQLServer配置管理器中启用了TCP/IP协议。我在MSSMS中授予服务器“远程连接”。还有其他想法吗?

我在这里找到了答案:

显然,连接字符串必须如下所示:

var conn = Jdbc.getConnection("jdbc:sqlserver://IP-address:1433;" + "databaseName=DBName;user=username;password=password;");

我不明白为什么连接字符串不同于谷歌文档中的那个,但这一个适合我

我在这里找到了答案:

显然,连接字符串必须如下所示:

var conn = Jdbc.getConnection("jdbc:sqlserver://IP-address:1433;" + "databaseName=DBName;user=username;password=password;");

我不明白为什么连接字符串不同于谷歌文档中的那个,但这一个适合我

问题出在连接字符串中

应该是这样的

          address = '%YOUR SQL HOSTNAME%';
          user = '%YOUR USE%';
          userPwd = '%YOUR PW%';
          dbUrl = 'jdbc:sqlserver://' + address + ':1433;databaseName=' + queryDb;
          var conn = Jdbc.getConnection(dbUrl, user, userPwd);
我在GitHub上有一个完整的工具,可以连接到MySQL和SQL服务器。我相信你能用它来帮助你。我会不断更新更多的功能!你可以在这里找到它


问题出在连接字符串中

应该是这样的

          address = '%YOUR SQL HOSTNAME%';
          user = '%YOUR USE%';
          userPwd = '%YOUR PW%';
          dbUrl = 'jdbc:sqlserver://' + address + ':1433;databaseName=' + queryDb;
          var conn = Jdbc.getConnection(dbUrl, user, userPwd);
我在GitHub上有一个完整的工具,可以连接到MySQL和SQL服务器。我相信你能用它来帮助你。我会不断更新更多的功能!你可以在这里找到它