Google Apps脚本查询MariaDB
问题描述:
我们最近将我们的数据移至新服务器 - 但是新的使用MariaDB。Google Apps脚本查询MariaDB
我们在Google Apps脚本中为电子表格做了大量查询和计算。由于服务器切换我们的脚本返回以下错误:
Unknown system variable 'OPTION' (line 21, file "")
线21指的是下面的脚本内的查询:
function mysql_invoice() {
// Replace the variables in this block with real values.
var address = 'xxx';
var user = 'xxx';
var userPwd = 'xxx';
var db = 'xxx';
var dbUrl = 'jdbc:mysql://' + address + '/' + db;
// Read up to 100000 rows of data from the table and log them.
var conn = Jdbc.getConnection(dbUrl, user, userPwd);
var stmt = conn.createStatement();
// Call SO DATA
stmt.setMaxRows(10000);
var start = new Date();
var rs = stmt.executeQuery("select * from sales_flat_invoice");
任何想法?
答
我相信你使用setMaxRows的方式是问题所在。
如果您更改设置限制的方式,它将起作用。
// Call SO DATA
// stmt.setMaxRows(10000);
var start = new Date();
var rs = stmt.executeQuery("select * from sales_flat_invoice limit 10000");
这应该解决您的问题。这个定义来自你的MariaDB版本和jdbc连接器版本的错误。
干杯
没有足够的信息来重现问题。 [mcve]会有帮助。 – Mogsdad
要重现此问题,您必须创建一个试图访问运行MariaDB的远程数据库服务器的Google脚本,并且应该使用JDBC:mysql驱动程序访问并在其上运行查询。我所看到的所有信息都在问题中提供。你还需要什么?你能更具体一点吗? – CntkCtn
如果您将MariaDB 10与较早版本的jdbc驱动程序一起使用,那么它很可能会为您提供这些类型的错误。 MySql 5.5与Maria DB 5.5进行比较,MySql 5.6与MariaDB 10进行比较。MySql 5.5与5.6之间的差异是对OPTION的支持。 5.6不再支持。 因此,如果您使用的是MariaDB 10,则不支持系统变量OPTION,它正在jdbc Driver中用于最有可能准备和运行查询的驱动程序。 我强烈的猜测是,如果可以使用谷歌脚本,则需要使用jdbc的更新版本。 – CntkCtn