使用 JSL 创建数据库连接(并关闭它)我正在尝试创建一个数据库连接,然后在脚本完成后关闭它。我已从“New SQL Query()”函数中的“Connection()”命令复制了连接字符串,并将其粘贴到“Create Database Connection()”函数中。但是,当我运行脚本时,我在与 dbc1 定义相关的日志中收到错误,显示“[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序”。
下面是我尝试运行的 JSL 脚本以及运行没有问题的旧方法。
笔记:
- 查询中的 CustomSQL 是在其他地方定义的,因此未显示以缩短此示例。
- 我试图遵循这篇文章中显示的解决方案: https://community.jmp.com/t5/Discussions/How-to-Disconnect-from-a-database-via-script/mp/597749#M80126
- 更新:我正在运行 JMP 16.1 并收到上面显示的错误。当我在 JMP 17.0 中运行它时,它工作得很好。
names default to here(1);
// trying to create the db connection and then insert into the Query
dbc1 = Create database Connection("ODBC:DSN=SQLplus 64-bit ODBC Connection;");
New SQL Query(
Connection( dbc1 ),
CustomSQL( combined )
) << Run Foreground();
// vs. my typical method
New SQL Query(
Connection( "ODBC:DSN=SQLplus 64-bit ODBC Connection;" ),
CustomSQL( combined )
) << Run Foreground();
数据存取视窗回复:使用 JSL 创建数据库连接(并关闭它)谢谢至@Dahlia_沃特金斯
回复:使用 JSL 创建数据库连接(并关闭它)JMP 支持发现了问题。我从查询生成器的 New SQL Query() 脚本复制了连接字符串。Create Database Connection() 函数不允许使用 DSN 定义的“ODBC:”部分。因此,JSL 脚本需要如下所示:
names default to here(1);
// trying to create the db connection and then insert into the Query
dbc1 = Create database Connection("DSN=SQLplus 64-bit ODBC Connection;");
New SQL Query(
Connection( dbc1 ),
CustomSQL( combined )
) << Run Foreground();