ディーデリク、
あなたの質問は、あなたがソース コードにアクセスできるのか、それともデータベース レベルでしか操作できないのかがわからないという点で明確ではありません。
これらのデータベースを駆動するために Clarion を使用しているかどうかについては、明確に言及していませんでした。投稿にタグを付けたので、あなたがそうだと思います。
また、Novell サーバーで使用しているファイル形式についても言及していませんでした。TopSpeed ファイル フォーマットを使用していると仮定しています。ここでは、TopSpeed ファイル フォーマットについて少し説明します。ほとんどのプログラマは、これが Clarion for Windows の「ネイティブ」ファイル フォーマットであると考えています。そうではない。Clarion for Windows にはネイティブ ファイル形式はありませんが、完全にドライバー駆動型のアプローチを採用しています。Clarion Professional Developer (DOS IDE) には、Clarion .DAT 形式のネイティブ ファイル形式がありました。Clarion for Windows は、古い .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 がそれについて何も知らないためです。
これを解決する 1 つの解決策は、MySQL サーバーで TopSpeed ODBC ドライバーを使用し、MySQL SP に ODBC ドライバーにアクセスさせることです。このような状況を回避し、より良い統合を促進するための戦略を可能にするため、TopSpeed ODBC ドライバーは必須であると考えています。
MySQL SP の詳細については、この投稿の範囲外です。これは、そのレベルの MySQL SP についても知らないためです。
よろしく