안녕하세요,
DOE 분석을 위한 테이블을 생성하는 저장 프로시저를 작성한 데이터베이스가 있습니다. 기본적으로 매개 변수와 해당 값을 동적으로 선택하므로 간단한 테이블 쿼리가 작동하지 않습니다.
JMP 13에는 SQL의 모든 저장 프로시저를 나열하는 고급 데이터베이스 열기 테이블 창이 있습니다. execute sql을 사용하여 "Call StoredProc(x)"를 실행하고 싶지만 아무 일도 일어나지 않습니다. matlab에서는 적절한 테이블을 돌려줍니다.
JMP에서 저장 프로시저를 실행하고 결과를 테이블로 가져오려면 어떻게 해야 합니까?
감사해요,
아코스
사용자 선택이 알려지면 데이터를 반환하는 저장 프로시저에 의존하는 인터페이스를 만들었습니다. 저장 프로시저와 동일한 서버의 테이블에 연결한 다음 테이블 소스 스크립트에서 복사하여 연결 문자열을 얻었습니다.
그런 다음 JMP에서 SQL 코드를 실행하는 기능을 활용했습니다. 아래 예는 Microsoft T-SQL을 실행하는 서버에 대한 것입니다. 저장 프로시저에 대한 모든 입력은 텍스트이므로 각 문자열 주위에 ''를 사용합니다. JSL을 사용하여 SQL 문자열을 작성하기 때문에 이것은 약간 무차별적인 힘이지만 잘 작동합니다.
//문자열로 사용자 입력 받기
...여기에 인터페이스 코드...
//연결 생성
dbc = 데이터베이스 연결 생성(
"ODBC:Description=##### toolset;DRIVER=SQL Server;SERVER=#####;UID=######;Trusted_Connection=예;APP=JMP;WSID=####;DATABASE =#####;"
);
//결과 얻기
평가(
파싱(
평가 삽입(
"\[
SQLString = "선언 @rc 정수
실행하다 @rc = [dbo].[GetResultsStandardised]
@DataSource = '^데이터소스^'
,@사이트 = '^사이트^'
,@FromDate = '^fromDateString^'
,@ToDate = '^toDateString^'
,@레벨1 = '^레벨1문자열^'
,@Level2 = '^레벨2문자열^'
,@Level3 = '^레벨3문자열^'
";
]\"
)
)
);
dtresult = SQL 실행( dbc, SQLString, "결과 테이블" );
//정리
데이터베이스 연결 닫기(dbc);