SQL 데이터베이스에 쓰기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP의 SQL 연결은 데이터 읽기에 적합합니다. 데이터 쓰기에 JMP를 사용하는 사람이 있습니까?
데이터를 수집하여 새 테이블에 쓰는 저장 프로시저가 있습니다. 수집할 데이터를 알 수 있도록 두 번째 테이블을 사용하여 매개 변수 목록을 읽습니다. JMP로 이 테이블을 읽을 수 있지만 쓰기가 쉽지 않습니다.
- 텍스트 열은 후행 공백이 있는 JMP nvarchar에 저장됩니다. 업로드된 텍스트 열을 사용하려면 공백 자르기 기능이 필요합니다.
- 날짜는 올바르게 다운로드되지만 날짜로 쓰려고 하면 OBDC 드라이버에서 오류가 발생합니다. 먼저 열을 텍스트 형식으로 변환한 다음 사용 시 다시 변환하여 이 문제를 해결할 수 있지만 다소 번거롭습니다.
현재 저는 저장 프로시저를 사용하여 JMP 생성 테이블에서 간접적으로 한계를 극복한 마스터 테이블로 올바른 데이터를 복사합니다.
내 질문은 JSL/SQL을 함께 사용하여 테이블을 읽고 새 행을 추가한 다음 변경/수정을 서버에 다시 쓰는 더 좋은 방법이 있습니까?
Re: SQL 데이터베이스에 쓰기감사합니다 @vince_faller
나는 이것을 사용했으며 루프에서 실행하여 확장했습니다. 어떤 이유로 한 번에 약 35K 행의 제한이 있었으므로 한 번에 25K 행을 읽고 데이터베이스에 입력하는 for 루프를 만들었습니다.
Re: SQL 데이터베이스에 쓰기안녕,
공유해 주셔서 감사합니다.
아래는 제 경우이며 도움을 주셔서 감사합니다.
1. 서버의 SQL 데이터베이스 이름: SQL_machine_yield_db
db 연결에서 업데이트를 가져올 때 첨부된 SQL_machine_yield_db.jmp.
2. db에는 8개의 열이 있습니다.
3. "new_and_update_yield.jmp" 테이블의 데이터
질문: jsl/sql을 사용하여 서버에서 new_and_yield.jmp를 SQL_machine_yield_db로 업데이트하는 방법은 무엇입니까?
친애하는
Re: SQL 데이터베이스에 쓰기전체 테이블을 가져오는 것이 아니라 일부 WHERE 문을 사용하여 데이터 테이블이 무엇인지 쿼리한다고 가정합니다.
전체 테이블을 끌어당기는 일이 발생하면
dt << 데이터베이스 저장( 디비씨,
"dbo.fake",
바꾸다
);
작동 할 것이다. 그렇지 않으면 이렇게 하지 마십시오.JMP 쿼리에 없는 테이블의 모든 정보가 삭제되기 때문입니다. 이것이 JMP 12+에 있다고 생각합니까?
그렇지 않은 경우 ID가 있는지 여부를 분리할 수 있습니다.ID가 있으면 업데이트를 수행하고 ID가 없으면 삽입을 수행하십시오.그래도 ID 열을 잠그고 숨기는 것이 가장 좋습니다.나는 여기서 침을 뱉고 있지만 작동해야한다고 생각합니다.
Re: SQL 데이터베이스에 쓰기JMP 테이블을 편집할 때('업데이트' 버튼 없이) 데이터베이스 '자동 업데이트'를 원한다는 느낌이 듭니다. 'Subscribe()'를 사용하여 이 작업을 수행할 수 있습니다. 예를 보려면 '도움말 > 스크립팅 색인'을 참조하십시오.
Re: SQL 데이터베이스에 쓰기그 예에 감사드립니다. 원시 SQL을 작성하고 INSERT, UPDATE 및 REPLACE와 같이 실행하거나 저장 프로시저를 실행하고 여기에 매개변수를 전달할 수 있다는 것을 알고 있었습니다. 예를 들어 사용자가 JMP에서 기존 데이터베이스 테이블을 열 수 있는 SQL/JSL을 찾고 있었습니다. 최종 사용자에게는 원격 컴퓨터에 저장된 JMP 테이블로 보입니다. 차이점은 해당 JMP 테이블에 대한 모든 변경 사항을 원래 데이터베이스에 업로드할 수 있다는 것입니다.
이제 JSL 코드를 작성하여 새 행이 테이블에 추가되었는지 확인한 다음 INSERT INTO를 사용하여 데이터베이스에 기록하는 방법을 알 수 있습니다(데이터 유형 불일치를 제어할 수 있는 경우). 기존 행에 대한 편집 내용을 추적하는 방법에 대한 아이디어가 있습니까?
Re: SQL 데이터베이스에 쓰기이것은 나를 위해 잘 작동했습니다.나는 아마 당신의 질문을 오해하고 있습니다.
dbc = 데이터베이스 연결 생성 ( "드라이버=SQL SERVER;SERVER=fake_database;Database=Test_DB" );
sqlreturn = SQL 실행 (dbc,
"[Test_DB].[dbo].[가짜]에 삽입
가치
('TestSQL삽입'
,1
,1
,'JMP'
,14.14
,14.14
,1
,'JMP'
,'JMP'
,'JMP'
,14
,14
)"
);
데이터베이스 연결 닫기 (dbc);

날짜 문제는 JMP가 실제로 날짜를 초로 저장하기 때문이라고 가정합니다.JMP에서 날짜에 대해 MDYHMS()를 수행하거나 SQL에서 날짜 추가(JMPdate, s, '1-1-1970')를 수행할 수 있습니다.
당신이 줄 수 있는 더 많은 정보가 있습니까?데이터를 가져오고 JMP 테이블에 행을 추가한 다음 SQL 테이블을 업데이트할 수 있지만 컨텍스트가 없으면 데이터 가져오기를 건너뛰고 SQL에 직접 삽입합니다(또는 SQL에서 추가 작업을 수행하고 JMP를 완전히 제외).
Re: SQL 데이터베이스에 쓰기도움을 드리지 못해 죄송합니다. 저는 이 주제에 대해 완전히 초보입니다. 하지만 데이터베이스 작성에 대한 피드백이 있으면 감사하겠습니다.