2012年のオッズデータについて

お世話になります

2010年から2025年の三連複オッズ(O5)と三連単オッズ(O6)を取得しようとしているのですが、2012年のデータだけが取得できません。

コード的には下記になりますが、JV-Data側でデータの毀損等は無いでしょうか?

JVOpen(“RACE”, “20120101000000-20130101000000”, 4, ReadCount, DownloadCount, LastFileTimestamp)

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

YMDさん、こんばんは。

うちのDB確認するとO5の2012年は3,454レコード、O6も3,454レコード有りますね。少なくともデータは提供されてますし、取得方法で何らかの問題があるかと思われます。

これがどこまで正しいとかはチェックしておりませんが、他の年は普通に取得出来ているとなると…例えばLastFileTimestamp辺りが多少絡みそうですけど^^; もう少しご自分でデバックされてから、ここがJV-Linkの動作としておかしくないかって特定されてから質問してみると、明確な回答が得られるかも?

SameNoEsaさん

早々のコメントありがとうございます。

レコード数の確認もありがとうございました。

1年分のデータは存在しているようですね。

LastFileTimestampに関してはあまりよく理解できておりませんが、戻り値が入るだけだと思っています。

またその後色々と試したところ、FromTimeに1月と9月の期間が含まれると問題が発現します。

症状としては読み込みが上記の期間になるとプログラムの反応が無くなりいつまで経っても制御が返ってこなくなります。

なのでJVOpenコマンドで読み込めなくなるデータ毀損があるのではないかと考えています。

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

今更ながらですが、DataLab検証ツールで確認してみました(初めて使用するのですが使用方法は間違っていないと思います)。

こちらでも2012年の1月と9月のデータを取得しようとすると "JVReadエラー。RC=-403” と表示されました。

JV-Linkインターフェース仕様書を観ると "JVFiledeleteで該当 ファイル(JVRead/JVGetsから戻されたファイル名) を削除し、再度JVOpenからの処理をやりなおしてく ださい。” とありますが、該当ファイル名が何であるかがわかりません。

また、個人でDBを構築しているわけではなく、都度JV-LinkからデータをDLしている認識ですが、ローカルPCにデータが保存されていっているのでしょうか?

公式からの回答をよろしくお願いいたします。

YMDさん、こんばんは。

認識の通りですね。これ、次に読む時にfromtimeに指定する奴が戻ってくるパラメーターでしたね。

自分自身は未だDataLab検証ツール未体験なので、そこは他の方に譲ります。

これはJVReadまたはJVGetsまで進んでるのなら、それらが返すfilenameだと思います。

あくまで不透明(全てのコードを見てないので)な状況でのアドバイスなんですが、これ、2012年だけ? 他の2011年とか2013年は問題なく取得出来ているコードを利用してる? 少なくとも他のユーザーさん達から同様のクレームが無い時点でYMDさんのコードに問題があるから取得出来ないのは間違いないかと。DataLab検証ツールについても同様で、YMDさんの認識でのパラメーターを渡しているのが原因だと思います。

RACEを取得すると、O5やO6以外も飛んできますが、他は問題ないのですか? 例えばO1とかね。JVOpenはそれら全てを一括で投げてくるので仮にO5やO6が飛んでこないのならO1とかも飛んできてないのでは?

大したアドバイス出来ませんが、頑張ってください!

「いいね!」 1

SameNoEsaさん お世話になります

今回の現象は2012年の1月分と9月分に限ったことで、それ以外の少なくとも2010年~2025年のデータは同じプログラムで処理できております。

その後JVReadのエラー処理部で"-403”の項目を追加し問題のあるファイル名を特定できました。

問題があったのは ”O2VM201201・・.jvd” と ”H1VM201209・・.jvd” で、これらをJVFiledeleteで削除することにより問題が解決できました。

今回の教訓は ”エラー処理部はしっかりと作り込んでおく” でした。JVReadのエラーと気づかずその前段のJVOpenコマンドにばかり目がいっていました。

SameNoEsaさんには大変お世話になりありがとうございました。