디에 데 리크는
귀하의 질문은 소스 코드에 액세스 할 수 없거나 단지 데이터베이스 수준에서 작동 할 수 있다면 우리가 모르는 점에서 매우 분명하지 않다.
Clarion을 사용하여 이러한 데이터베이스를 사용하고 있는지 확실하게 언급하지 않았습니다. 나는 당신이 당신의 게시물에 태그를 지정했기 때문에 당신이 있다고 생각하고 있습니다.
또한 Novell 서버에서 사용중인 파일 형식을 언급하지 않았습니다. TopSpeed 파일 형식을 사용하고 있다고 가정합니다. 여기에 TopSpeed 파일 형식에 대한 약간의 정보가 있습니다. 대부분의 프로그래머는 Windows 용 Clarion의 "기본"파일 형식이라고 생각합니다. 그렇지 않습니다. Windows 용 Clarion은 원시 파일 형식과 같은 것은 아니지만 전적으로 드라이버 기반 접근 방식을 사용합니다. Clarion Professional Developer (DOS IDE)에는 Clarion .DAT 형식의 기본 파일 형식이 있습니다. Windows 용 Clarion은 이전 .DAT를 포함하여 드라이버 나 ODBC 드라이버를 제공하는 파일 형식을 사용할 수 있습니다.
소스 코드에 액세스 할 수 있다면 매우 직설적 인 상황입니다. Clarion에서는 다른 테이블을 가리키는 다른 버퍼를 쉽게 가질 수 있습니다.
PROGRAM
MAP
END
szConnMySQL CSTRING(256)
users_mysql FILE, DRIVER('ODBC'), OWNER(szConnMySQL), NAME('users')
RECORD RERCORD
id LONG
name STRING(20)
END
END
users_tps FILE, DRIVER('TopSpeed'), NAME('users')
RECORD RECORD
name STRING(20)
id LONG
END
END
CODE
szConnMySQL = 'Driver={{MySQL ODBC 3.51 Driver};' & |
'Server=myServerAddress;Database=myDataBase;User=myUsername;' & |
'Password=myPassword;Option=3;'
OPEN(users_mysql, 42h)
OPEN(users_tps, 42h)
users_mysql.id = 1
users_mysql.name = 'GUSTAVO PINSARD'
ADD(users_mysql)
IF NOT ERRORCODE()
users_tps.RECORD :=: users_mysql.RECORD
ADD(users_tps)
ELSE
! Do your thing
END
CLOSE(users_mysql)
CLOSE(users_tps)
소스 코드에 액세스 할 수 없다면 MySQL 저장 프로 시저를 작성하여 원격 파일을 업데이트해야합니다. 문제는 원격 파일 인 TopSpeed 파일이 MySQL 서버에서 직접 액세스 할 수 있다는 것입니다. MySQL은이 파일에 대해 아무 것도 모르기 때문입니다.
이 문제를 극복하는 한 가지 해결책은 MySQL 서버에서 TopSpeed ODBC 드라이버를 사용하고 MySQL SP에서 ODBC 드라이버에 액세스하는 것입니다. 필자는 TopSpeed ODBC 드라이버가 반드시 있어야한다고 생각합니다. 이러한 상황을 피할 수있는 전략을 제공하고 더 나은 통합을 촉진 할 수 있기 때문입니다.
MySQL SP에 대한 자세한 내용은이 게시물의 범위를 벗어나며, 해당 레벨에 대한 MySQL SP도 모르기 때문에이 게시물의 범위를 벗어납니다. 단지 프로그램의 중복과 같이
감사
은/데이터가 백업에 사용하지 않는 이상 좋은 일이 아니다 복제, 그래서 난 당신이 두 응용 프로그램/응용 프로그램 부분에 대해 하나 개의 데이터베이스 서버에서 동일한 테이블을 사용하여 생각을 시작하는 것이 좋습니다. –