你好呀,
我有一个数据库,我在其中编写了一个存储过程,它生成一个用于 DOE 分析的表。 基本上是动态选择参数及其值,这就是简单的表查询不起作用的原因。
JMP 13 中有高级数据库打开表窗口,其中列出了 SQL 中的所有存储过程。 我想使用 execute sql 运行“Call StoredProc(x)”,但没有任何反应。 在 matlab 中,它返回正确的表格。
如何在 JMP 中执行存储过程并将结果导入表中?
谢谢,
阿科斯
我已经制作了这样一个接口,它依赖于一个存储过程来在用户选择已知后返回数据。 连接字符串是通过连接到与存储过程位于同一服务器上的表,然后从表源脚本中复制得到的。
然后,我利用了从 JMP 执行 SQL 代码的功能。 以下示例适用于运行 Microsoft T-SQL 的服务器。 我对存储过程的所有输入都是文本,因此在每个字符串周围使用了“”。 当您使用 JSL 编写 SQL 字符串时,这有点蛮力,但效果很好。
//获取用户输入的字符串
...接口代码在这里...
//创建连接
dbc = 创建数据库连接(
"ODBC:Description=##### 工具集;DRIVER=SQL Server;SERVER=#####;UID=######;Trusted_Connection=Yes;APP=JMP;WSID=####;DATABASE =#####;”
);
//得到结果
评估(
解析(
评估插入(
“\[
SQLString = "声明@rc整数
执行@rc = [dbo].[GetResultsStandardised]
@DataSource = '^dataSource^'
,@Site = '^站点^'
,@FromDate = '^fromDateString^'
,@ToDate = '^toDateString^'
,@Level1 = '^level1string^'
,@Level2 = '^level2string^'
,@Level3 = '^level3string^'
";
]\"
)
)
);
dtresult = 执行 SQL(dbc, SQLString, "结果表");
//整理
关闭数据库连接(dbc);