JRA公式競馬データ配信サービス JRA-VAN Data Lab.

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

新着記事 リストに戻る
タイトルRe: マスタ系レコードにおける名前関連項目の変更について
記事No6359   [関連記事]
投稿日: 2019/02/13(Wed) 15:31
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 中田です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。


> 競走馬マスタのみデータ区分に「馬名変更」という値がありますが、
> 騎手、馬主、調教師、生産者、繁殖馬、の各マスタにはそれがなく、更新
のみ
> となっております。
> これらの方々のお名前が何らかの理由(個人であればご結婚、法人であれ
ば登
> 記変更など)で社会的に変更になった場合、データ上も変更されると考え
てよろ
> しいでしょうか。

名前以外にも見習騎手コードや所属調教師コードなど、
騎手コードに紐づいているデータに変更がある場合はデータ区分=更新が設定
されます。
その他の各マスタについても同様です。

> あるいはもし、競馬法もしくは運営上のルールとして名称変更に特別な配
慮が
> あるなど、社会的変更と必ずしも一致しない場合がございましたら、あわ
せてご
> 教示頂ければ大変ありがたいと存じます。

JRAに登録されているデータが設定されますので、社会的変更と必ず一致すると
は限りません。

> 名称変更がデータ上変更されるとした場合、具体的には各マスタのIDコー
ド(
> 騎手コード、馬主コードなど)はそのままに、データ区分=更新として名
称関連
> 項目の値が変更されたデータが配信されるのでしょうか。それとも、デー
タ仕様
> 上、「キー」としてIDコードが設定されているため、IDコード自体を変更
される
> のでしょうか。
>
> IDコードを変更される場合、馬との成績について整合性を保つための、何
か(
> それが容易に判断できる)情報がございますでしょうか。

IDコードはそのままでデータ区分=更新として、変更されたデータが配信され
ます。
IDコードが変わった場合は新規のデータとして扱うため、同一人物であっても
それまでの成績を判断できる情報はありません。


> IDコードが変更されず、名前等が変更される場合、データの在り方ですが
、取
> 得時点に関係なく、データ区分=新規のデータとデータ区分=更新のデー
タがそ
> れぞれ取得されると考えてよろしいでしょうか。

IDコードが変更されない場合はデータ区分=更新のデータのみ取得できます。
レース時点のデータは馬毎レース情報の騎手名略称等をご参照ください。


以上、よろしくお願いいたします。

タイトルマスタ系レコードにおける名前関連項目の変更について
記事No6358   [関連記事]
投稿日: 2019/02/09(Sat) 19:29
投稿者st
マスタ系レコードにおける名前関連項目の変更について

お世話になります。

JVDataレコードフォーマットの騎手、馬主、調教師、生産者、繁殖馬、の各マ
スタの中の、名称関連項目(騎手名など)が変更された場合のデータについてご
教示頂きたいことがございます。

競走馬マスタのみデータ区分に「馬名変更」という値がありますが、
騎手、馬主、調教師、生産者、繁殖馬、の各マスタにはそれがなく、更新のみ
となっております。

これらの方々のお名前が何らかの理由(個人であればご結婚、法人であれば登
記変更など)で社会的に変更になった場合、データ上も変更されると考えてよろ
しいでしょうか。

あるいはもし、競馬法もしくは運営上のルールとして名称変更に特別な配慮が
あるなど、社会的変更と必ずしも一致しない場合がございましたら、あわせてご
教示頂ければ大変ありがたいと存じます。

名称変更がデータ上変更されるとした場合、具体的には各マスタのIDコード(
騎手コード、馬主コードなど)はそのままに、データ区分=更新として名称関連
項目の値が変更されたデータが配信されるのでしょうか。それとも、データ仕様
上、「キー」としてIDコードが設定されているため、IDコード自体を変更される
のでしょうか。

IDコードを変更される場合、馬との成績について整合性を保つための、何か(
それが容易に判断できる)情報がございますでしょうか。


IDコードが変更されず、名前等が変更される場合、データの在り方ですが、取
得時点に関係なく、データ区分=新規のデータとデータ区分=更新のデータがそ
れぞれ取得されると考えてよろしいでしょうか。

例えば仮定の話として、お名前を山田花子から田口花子に変更された騎手の方
がいらしたとして、2017年10月1日にデータ上新規登録され、2018年8月1日にデ
ータ上名称が変更された場合、

1.「データ作成年月日=2017年10月1日、データ区分=新規、騎手コード=1234
5、騎手名=山田花子」
2.「データ作成年月日=2018年8月1日、データ区分=更新、騎手コード=12345
、騎手名=田口花子」

というデータが(以降の変更は別として)取得時期に関係なく取得できると考
えてよろしいでしょうか。それとも、

3.「データ作成年月日=2018年8月1日、データ区分=更新(あるいは新規)、
騎手コード=12345、騎手名=田口花子」

だけが取得できるのでしょうか。ただもしそうなりますと、2018年8月1日以前
の馬毎レース情報で旧騎手名が取得できないと思われるため、こうはならないか
なという気はしております。


お忙しいところ大変恐れ入りますが、ご回答頂けましたら幸いです。

何卒よろしくお願い致します。

タイトルRe^3: 払戻データの速報成績(払戻金確定)につきまして
記事No6356   [関連記事]
投稿日: 2019/01/28(Mon) 13:38
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 吉岡です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

>ですが、そのような「蓄積系データで取得可能なデータ区分はどれ、
>速報系データ区分で取得可能なデータ区分はどれ」
>といった詳細仕様はどのドキュメントを確認すればよろしかったでしょう
か?

大変恐れ入りますが、蓄積系データと速報系データで取得可能な
データ区分がどれかを明記した仕様書は現状ございません。

データ関連のドキュメントにつきましては、
下記仕様書を提供しております。
https://jra-van.jp/dlb/sdv/sdk.html
・JV-Data 仕様書

以上、よろしくお願い致します。

タイトルRe^3: Thead, TaskにてJVLinkClass#JVRead()の実行で例外が発生
記事No6355   [関連記事]
投稿日: 2019/01/28(Mon) 09:39
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 吉岡です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

>大量のデータ(セットアップ時や数年分の
>データ取得など)をJV-Linkから取得するには
>どのようにすればよいでしょうか?

大量のデータを取得する際は、
データを分割して取得すれば良いかと存じます。

下記は一例ですので、ご参考程度にお考え下さい

・dataspecを個別に指定
・JVOpenの指定期間を分割
(前回呼び出し時の lastfiletimestampをfromtime に
指定頂ければ、必ず前回までに取得したデータの次から取得されます。)

なお、セットアップを分割して行う際は、
option=4(ダイアログ無しセットアップ)を指定すると、
ダイアログの表示が初回のみとなり、
2回目以降ダイアログが表示されませんので、
ご留意いただければと思います。

JVOpen の詳細な仕様につきましては、以下仕様書をご参照ください。
http://jra-van.jp/dlb/sdv/sdk.html
・JV-Linkインターフェース仕様書

以上、よろしくお願い致します。

タイトルRe^2: Thead, TaskにてJVLinkClass#JVRead()の実行で例外が発生
記事No6354   [関連記事]
投稿日: 2019/01/21(Mon) 23:55
投稿者ターちゃん
ご回答ありがとうございます。

マルチスレッドに関しては承知いたしました。
ただし、そうだとしますと大量のデータ(セットアップ時や数年分のデータ取得
など)をJV-Linkから取得するにはどのようにすればよいでしょうか?

ウィンドウアプリケーションですので一定時間以内にUIスレッドに処理を戻さ
ないとWindowsがアプリケーションが動作していないと判断しフリーズさせてし
まいます。

理由は下記のサイトに記載されています。
[UI フリーズの発生理由]という箇所を要参照
https://blogs.msdn.microsoft.com/nakama/2009/03/30/part-1-windows/
UI がフリーズしないアプリを作るためには、時間のかかる処理(具体的には 0
.1sec 以上かかる処理)を別スレッドに切り離して実行しなければならない。

よろしくお願いいたします。

タイトルRe^2: 払戻データの速報成績(払戻金確定)につきまして
記事No6353   [関連記事]
投稿日: 2019/01/21(Mon) 22:58
投稿者ターちゃん
ご回答ありがとうございます!

はい、蓄積系データを取得しております。

> 蓄積系の払戻データは基本的にはデータ区分=2の成績(月曜)
> となります。



> 払戻データのデータ区分=1(速報成績(払戻金確定))は
> 速報系の「速報レース情報(成績確定後)」と
> 「速報レース情報(出走馬名表〜)」にて取得できます。

ですが、そのような「蓄積系データで取得可能なデータ区分はどれ、
速報系データ区分で取得可能なデータ区分はどれ」
といった詳細仕様はどのドキュメントを確認すればよろしかったでしょうか?
他にも同様のデータがある度に質問するのもあれですのでご教授ください。

よろしくお願いいたします。

タイトルRe: Thead, TaskにてJVLinkClass#JVRead()の実行で例外が発生
記事No6352   [関連記事]
投稿日: 2019/01/21(Mon) 09:52
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 吉岡です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

>その新しいスレッド内でJVRead()がコールされた際に
>下記のエラーが発生するようになりました。
>尚、Taskを利用しても同様のエラーが発生します。
>-------------------------
>System.Runtime.InteropServices.COMException:
>'サーバーによって例外が返されました。
>(HRESULT からの例外:0x80010105 (RPC_E_SERVERFAULT))9;
>-------------------------

ご記載いただいた内容につきまして、過去に同様の問い合わせを受けており、
その際は、マルチスレッドの仕組みを利用した競馬ソフトであった為、
このようなエラーが発生した という経緯がありました。
本件の競馬ソフトにつきまして、マルチスレッドの仕組みを
利用した構造になっていないでしょうか。

>JVRead()をバックグラウンドなどで実行するために
>特殊な操作等必要でしょうか?

JV-Linkはマルチスレッドでの
利用を考慮した構造にはなっておりません。

以上、よろしくお願い致します。

タイトルRe: 払戻データの速報成績(払戻金確定)につきまして
記事No6351   [関連記事]
投稿日: 2019/01/18(Fri) 20:09
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 吉岡です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

>私の想定では2019/01/12(土), 2019/01/13(日)のレースの払戻データが速
報成
>績(払戻金確定)として数件は含まれていると思っていたのですが、それら
期間の
>払戻データは0件でした。

蓄積系データを取得しているように見受けられます。
蓄積データは、基本的に月曜以降に取得できるデータとなりますので、
想定のデータは取得されず、
2019/01/05(土), 2019/01/06(日)のデータが取得されたかと思います。
蓄積系の払戻データは基本的にはデータ区分=2の成績(月曜)となります。

>払戻データのデータ区分=1(速報成績(払戻金確定))が得られるのは
>レース後どれくらいの時間又は日が経過してからでしょうか?

払戻データのデータ区分=1(速報成績(払戻金確定))は
速報系の「速報レース情報(成績確定後)」と
「速報レース情報(出走馬名表〜)」にて取得できます。
該当データはレース確定後より1週間程度、提供しておりますので、
その間は取得可能となります。

以上、よろしくお願い致します。

タイトルThead, TaskにてJVLinkClass#JVRead()の実行で例外が発生
記事No6348   [関連記事]
投稿日: 2019/01/14(Mon) 23:44
投稿者ターちゃん
こんにちは。

Visual Studio 2017 の C# で開発をしております。

ウィンドウ上の「ロード」ボタンをクリックするとJVRead()から全てのデータを読み出し
てDBに保存するよう実装しました。
ただし、読み出すデータが大量にあるとUIスレッドに戻るまでに長時間を要し
てしまいアプリが止まってしまいます。

そこでボタンがクリックされた際に JVRead() を別スレッドで実行するよう試
してみましたが、その新しいスレッド内でJVRead()がコールされた際に下記のエ
ラーが発生するようになりました。尚、Taskを利用しても同様のエラーが発生し
ます。
-------------------------
System.Runtime.InteropServices.COMException: 'サーバーによって例外
が返されました。 (HRESULT からの例外:0x80010105 (RPC_E_SERVERFAULT))
9;
-------------------------

JVRead()をバックグラウンドなどで実行するために特殊な操作等必要でしょう
か?

尚、JVInit(), JVOpen() に関してはThread, Task内で実行しても例外は発生せず正常に動作しております。

以上、よろしくお願いいたします。

タイトル払戻データの速報成績(払戻金確定)につきまして
記事No6347   [関連記事]
投稿日: 2019/01/13(Sun) 18:07
投稿者ターちゃん
こんにちは。

払戻データのデータ区分=1である速報成績(払戻金確定)が得られるタイミング
につきまして質問させてください。

2019/01/13(日)の午後 17:30 頃に以下のパラメータで JVOpenをコールしまし
た。

string dataSpec = "RACE";
string fromDate = "20190101132356"; // 2019-01-01からのデータ
取得
int option = 1;
int readCount = 0;
int downloadCount = 0;
string lastFileTimestamp;

jvLink.JVOpen(dataSpec, fromDate, option, ref readCount, ref downloadCo
unt, out lastFileTimestamp);

計48件の払戻データ(レコード種別ID=HR)が取得できたのですが、その中にデー
タ区分=1である速報成績(払戻金確定)のデータが1件も存在しませんでした。
全てデータ区分=2の成績(月曜)でした。

私の想定では2019/01/12(土), 2019/01/13(日)のレースの払戻データが速報成
績(払戻金確定)として数件は含まれていると思っていたのですが、それら期間の
払戻データは0件でした。

払戻データのデータ区分=1(速報成績(払戻金確定))が得られるのはレース後ど
れくらいの時間又は日が経過してからでしょうか?
月曜日にはデータ区分=2が取得できるようになると思うのですが、その前にデ
ータ区分=1のデータが取得できる期間はあるのでしょうか・・・。

以上、よろしくお願いいたします。

ウィンドウを閉じる