やあ、
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].[GetResultsStandardized]
@DataSource = '^データソース^'
,@サイト = '^サイト^'
,@FromDate = '^fromDateString^'
,@ToDate = '^toDateString^'
,@レベル1 = '^レベル1文字列^'
,@Level2 = '^level2string^'
,@Level3 = '^level3string^'
";
]\"
)
)
);
dtresult = Execute SQL( dbc, SQLString, "結果テーブル" );
//片付ける
データベース接続を閉じます ( dbc );