脚本:将 SQL 查询结果保存在项目中嗨,可能是一个新手问题,但我自己找不到解决方案:我想将 SQL 查询通过 JSL 生成的表保存到项目中。 代码如下;标签等被省略。 不幸的是,在后台运行查询后,dt 似乎被删除了。 是时间问题吗? 谢谢你的帮助。
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
project = New Project();
project << Save As("");
自动化和脚本编写数据存取回复:脚本编写:将 SQL 查询结果保存在项目中在后台运行查询会导致 JMP 在继续执行下一个命令之前不等待结果,因此您必须告诉它等待。我通常在查询之前将 dt 定义为 Empty(),然后告诉 JMP 等到 dt 可编写脚本后再继续。
dt = Empty();
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
While( !Is Scriptable( dt ), Wait( 1 ) );
project = New Project();
project << Save As("");回复:脚本编写:将 SQL 查询结果保存在项目中如果您希望在后台运行查询并在查询完成后仍执行一些操作,您可以使用 PostQueryScript
Names Default To Here(1);
obj = New SQL Query(Connection("ODBC:DSN=SampleDSN;"), Custom SQL("SELECT c1, c2, c3 FROM my_table;"));
obj << Post Query Script("show( queryResult << Get As Matrix );");
或者我认为你也可以使用<<运行完成但您需要在其中添加更多脚本(并且您可能需要全局范围...)。