VisualStudio C#とMySQL or SQLiteで競馬ソフトを作ってみる。そのメモ。

基本情報

蓄積系データの取得要求をします。

【構文】

Long JVOpen( String 型 dataspec , String 型 fromtime , Long 型 option , Long型 readcount , Long 型 downloadcount , String 型 lastfiletimestamp );

【パラメータ】

dataspec
読み出したいデータを識別するデータ種別IDを文字列として連結したものを指定します。
1つのデータ種別IDは4桁固定ですので dataspec に指定する文字列は4の倍数桁でなければいけません。
option パラメータとの組み合わせで指定できないデータ種別 ID があります。

既知の障害について
・dataspec を複数個指定した場合、個別に指定した場合と比較すると「対象ファイル数が多い 場合に JVRead の処理時間が遅くなる」という障害が報告されています。
処理時間が遅い場合 に は、 detaspec を個別に指定し 回避してください。
また、セットアップデータ取得時は option=4(ダイアログ無しセットアップ)を指定することで、セットアップ時のダイアログ表示を回避 可能です。

指定可能なデータ種別IDについては「JV-Data仕様書」を参照して下さい。
fromtime
dataspec に指定したデータの読出し開始ポイントを時刻(YYYYMMDDhhmmss の形式)で指定します。
ここで指定した時刻より大きくかつ現在時刻までに提供されたデータが読み出しの対象となります。
option
option = 1通常データ
option = 2今週データ
option = 3セットアップデータ
option = 4ダイアログ無しセットアップデータ(初回のみダイアログを表示します。)
上記以外エラー

蓄積系ソフトがデータをメンテナンスする際の差分データの読み出しの場合は1を指定します。
非蓄積系ソフトが今週ぶんのデータのみを読み出したい場合には2を指定します。
2を指定すると直近の未来のレースに関するデータ(出走予定馬の過去走情報を含む)と直前のレースの成績関連のデータに該当するデータだけを読み出します。
1を指定した場合は全てのデータの中から dataspec,fromtime に該当するデータが読み出されます。
また、蓄積系ソフトがセットアップを行なう場合は3または4を指定します。
3または4を指定した 場合はセットアップ専用のデータをスタートキット(CD/DVD-ROM)あるいは JRA-VAN サーバー から取得し読み出します。
セットアップを分割して行いたい場合(データ種別毎にセットアップを行う場合等)には、4を指定します。
4を指定した場合は、セットアップデータの取得元を指定するダイアログが初回のみ表示され2回目以降は初回に指定した取得元にてセットアップが行われます。
readcount
dataspec,fromtime,option で指定した条件に該当する全ファイル数が返されます。呼び出し時に値をセットする必要はありません。
downloadcount
readcount で返された数のうちダウンロードあるいはスタートキット(CD/DVD-ROM)からのコピーが必要なファイルの数が返されます。
lastfiletimestamp
dataspec,fromtime,option で指定した条件に該当する全ファイルのうち最も新しいファイルのタイムスタンプが YYYYMMDDhhmmss の形式で返されます。
このタイムスタンプは次に JVOpen を呼び出す場合に fromtime として指定するために必要ですのでレジストリやファイルまたはデータベースなどに保存しておく必要があります。
また、lastfiletimestamp の設定で JVRead/JVGets の中断・再開が可能です。
設定方法は以下の通り。

・通常データの中断・再開
最後に読込んだファイルの m_CurrentFileTimestamp を保持し、再開時の JVOpen のfromtime に、保持している m_CurrentFileTimestamp を設定することで JVRead/JVGetsを再開することができます。
(dataspec を個別に指定した場合は dataspec 毎に保持を行う。)

・セットアップデータの中断・再開 最後に読込んだファイル名を保持し、再開時には前回と同じパラメータにて JVOpen を行い、保 持しているファイル名まで JVSkip を行う事でJVRead/JVGets を再開することができます。
(dataspec を個別に指定した場合は dataspec 毎に保持を行う。)

【戻り値】

オープン処理が正しく終了した場合、0 が返されます。エラーが発生した場合にはエラーの理由コードとして負の数が返されます。
戻り値意味原因と対処
正常
−1該当データ無し指定されたパラメータに合致する新しいデータがサーバーに存在しない。
又は、最新バージョンが公開され、ユーザーが最新バージョンのダウンロードを選択しました。
JVClose を 呼び出して取り込み処理を終了してください。
−2セットアップダイアログでキャンセルが押されたセットアップ用データの取り込み時にユーザーがダイアログでキャンセルを押しました。
JVClose を呼び出して取り込み処理を終了してください。
−111dataspec パラメータが不正パラメータの渡し方かパラメータの内容に問題があると思われます。
サンプルプログラム等を参照し、正しくパラメータがJV-Link に渡っているか確認してください。
−112fromtime パラメータが不正同上
−114key パラメータが不正同上
−115option パラメータが不正同上
−116dataspec とoption の組み合わせが不正同上
−201JVInitが行なわれていないJVOpen/JVRTOpen に先立ってJVInit が呼ばれていないと思われます。
必ずJVInit を先に呼び出してください。
−202前回のJVOpen/JVRTOpen/JVMVOpen に対して
JVClose が呼ばれていない(オープン中)
前回呼び出したJVOpen/JVRTOpen/JVMVOpen がJVClose によってクローズされていないと思われます。
JVOpen/JVRTOpen/JVMVOpen を呼び出した後は、次に呼び出すまでの間にJVCloseを必ず呼び出してください。
−211レジストリ内容が不正
(レジストリ内容が不正に変更された)
JV-Link はレジストリに値をセットする際に値のチェックを行います(例えば利用キーの桁数など)が、
レジストリから値を読み出して使用する際に問題が発生するとこのエラーが発生します。
レジストリが直接書き換えられたなどの状況が考えられない場合にはJRA-VAN へご連絡ください。
−301認証エラー利用キーが正しくない。
あるいは複数のマシンで同一利用キーを使用した場合に発生します。
複数のマシンで同じ利用キーをしようした場合には、
このエラーが発生したマシンのJV-Link をアンインストールし、再インストール後、利用キーの再発行が必要となります。
−302利用キーの有効期限切れData Lab.サービスの有効期限が切れています。
サービス権の自動延長が停止していると思われます。
解消するにはサービス権の再購入が必要です。
現在ソフト作者様に配布している利用キーではこのエラーは発生しません。
−303利用キーが設定されていない(利用キーが空値)利用キーを設定していないと思われます。
JV-Link インストール直後は利用キーが空なので必ず設定する必要があります。
−401JV-Link 内部エラーJV-Link 内部でエラー が発生したと思われます。JRA-VAN へご連絡ください。
−411サーバーエラー
(HTTPステータス404NotFound)
レジストリが直接変更されたか、Data Lab.用サーバーに問題が発生したと思われます。
JRA-VANのメンテナンス中でない場合で、このエラーが続く場合はJRA-VANへご連絡ください。
−412サーバーエラー
(HTTPステータス 403Forbidden)
Data Lab.用サーバーに問題が発生したと思われます。
このエラーが続く場合はJRA-VANへご連絡ください。
−413サーバーエラー
(HTTP ステータス200,403,404以外)
同上
−421サーバーエラー
(サーバーの応答が不正)
同上
−431サーバーエラー
(サーバーアプリケーション内部エラー)
同上
−501セットアップ処理において
スタートキット(CD/DVD-ROM)が無効
JRA-VANが提供した正しいスタートキット(CD/DVD-ROM)をセットしていないと思われます。
正しいスタートキット(CD/DVD-ROM)をセットしてください。
―504サーバーメンテナンス中サーバーがメンテナンス中です。

【解説】

データ識別文字列の組み合わせと開始ポイント時刻(fromtime)で指定したデータ(ファイル群)を読み込むための準備をします。具体的には以下の処理を行います。

・dataspec,fromtime,option が正しいか検査を行います。

・dataspec,fromtime,option に該当するファイルのリストをサーバに問い合わせます。

・該当するファイルがローカルディスクに存在するかどうか検査します。

・ローカルディスクに無いデータをサーバーからダウンロードするスレッドを開始します。

・ダウンロードスレッドが開始したら処理をアプリケーションに返します。
option
パラメータの指定により JV-Link は以下のデータを返します。

Option結果
1サーバーが提供している全てのデータの中から dataspec が合致し、fromtime より大きくかつ現在時刻までに該当するデータを取得します。
2先週のレース結果情報と次週のレース関連情報を含んだ約1週間ぶんのデータの中からdataspec が合致し、fromtime より大きい時刻に該当するデータを取得します。
3, 4セットアップ用データの中から dataspecが合致する fromtimeより大きい時刻を持つ全てのデータ(前月までのデータ)と、今月のの通常データの中で dataspec が合致する現在時刻までに提供しているデータを取得します。(※1)

以下の option パラメータと dataspec の組み合わせは指定できません。
Optiondataspec に指定できないデータ種別 ID
1TCOV,RCOV
2DIFF,BLOD,SLOP,YSCH,COMM,MING
3, 4TCOV,RCOV

option に3または4を指定した場合、スタートキット(CD/DVD-ROM)からセットアップするか全てのデータをサーバーからダウンロードするかを選択する次のようなダイアログが表示されます。
(option に4を指定した場合は、初回のみ表示されます。)

JRA-VAN 提供のスタートキット(CD/DVD-ROM)を持っている場合はこのダイアログで指定します。
このダイアログで「スタートキット(CD/DVD-ROM)を持っている」を選択すると指定されたドライブから必要なデータをローカルディスクにコピーし、足りないデータをサーバーからダウンロードします。
古いスタートキット(CD/DVD-ROM)を使用した場合でも最大限スタートキット(CD/DVD-ROM)に収容されたデータを利用するように動作し、足りないぶんをサーバーからダウンロードします。
「スタートキット(CD/DVD-ROM)を持っていない」を選択するとセットアップのためのデータを全てサーバーからダウンロードします。
セットアップのためのデータはデータ量が多いのでスタートキット(CD/DVD-ROM)を使用したセットアップをお勧めしています。

※1:dataspec=TOKU(特別登録馬)に関する注意事項 セットアップデータ取得時には最新分(当週+翌週)の特別登録馬の取得が可能です。
過去分の取得を行うには、通常データ取得にて fromtime を過去日付に設定し取得を行う必要があります。

また、新しいお知らせや新しいバージョンの JV-Link がリリースされていれば、告知ダイアログを表示します。
(新しいお知らせは、JRA-VAN からのお知らせを表示するになっている場合のみ表示されます)。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

メンバーのみ編集できます