JV-Link(JVOpen)での過去データ(2020年以降)取得について

【実施内容】
・Python(32bit、pywin32)からJVDTLab.JVLinkをCOM経由で呼び出し
・JVInit(“UNKNOWN”)は正常終了(戻り値0)
・以下の指定でJVOpenを実行
dataspec = “RACE”
fromtime = “20200101000000”(2020年1月1日0時)
option = 1(セットアップデータ)
JVOpen(dataspec, fromtime, option, 0, 0, “”)

【発生している事象】
・fromtimeに2020年1月1日を指定しているにもかかわらず、実際にJVReadで取得できるRA/SEレコードの開催年が2025年・2026年のもののみで、2020〜2024年のデータが一切含まれておりません。
・JVOpenの戻り値(readcount)はおよそ1364件程度で、fromtimeをどれだけ過去に指定してもこの件数からほとんど変化がありませんでした。
・JVOpenの戻り値のlastfiletimestampを次回のfromtimeとして使い、JVClose後に再度JVOpenを呼び直す方法も試しましたが、2回目のJVOpenでリターンコード-1となり失敗しました(1回目は正常に動作します)。

【確認したいこと】

  1. 現在契約しているプラン(月額2070円,無料期間中)において、JVOpenで取得可能な過去データの範囲(何年前まで遡れるか)に制限はありますでしょうか。
  2. 2020年以降のRA/SEレコードを一括で取得するための正しい手順(fromtime・optionの指定方法や、複数回に分けて取得する場合の正しい進め方)をご教示いただけますでしょうか。
  3. 同一プロセス内でJVClose後にJVOpenを再度呼び出す際に必要な手順(待機時間や再初期化の要否など)があればあわせてご教示ください。

optionを3(セットアップ)ではなく4(ダイアログ無しセットアップ)に変更して再度試しましたが、残念ながら同じ症状が再現してしまいました。

【実施内容】

  • fromtime=“20200101000000”、option=4でJVOpen
  • 初回実行時に「セットアップ」ダイアログが表示され、「スタートキット(CD/DVD-ROM)を持っていない」を選択してOK

【結果】
1回目: read_count=1269, download_count=1269, last_timestamp=20260720133951
→ 実際にダウンロードは発生しましたが、取得できた1269件の中にRA・SE・HRは1件も含まれておらず、last_timestampも依然として2026年7月の日付のままでした。

2回目(last_timestampを次のfromtimeとして継続): JVOpenがリターンコード-1で失敗し続けました(3回リトライしても回復せず)。

つまりoption=1の時と全く同じ症状が、option=4に変えても再現している状況です。

【確認したいこと】
option=4でも、返ってくるファイルの日付が古い方(2020年代)に遡らないのは、何か他に設定や手順が必要なのでしょうか。例えば:

  • セットアップ対象の期間を別途指定する必要があるのか
  • ダウンロード先の選択(ダイアログ)で他に選べる項目があったのか
  • そもそもこのアカウントでは2020年代のデータ自体が保持されていないのか

お忙しい中恐縮ですが、ご知見をいただけますと幸いです。

@hanapak さん、こんばんは。

Pythonで苦労されている様ですが、基本的に数年前とかになるとoption=1は無いです。これで取得出来る期間は限られてます。で、option=4(option=3でも大差はない)が正解ですが、

ここで、RA・SE・HRが1件も含まれてないって部分が自分のコードが正しいのかのチェックポイントな気がします。これ、あくまで示されているパラメーターが全てじゃないので憶測でしかないですが、最初の書込みのdataspec="RACE"での話ですかね? だとして、この場合13種類のデータ飛んできますので、不要なのはJVSkipだったかで飛ばす必要があります。

Pythonでも少なくともうまく動かせている方がいるようなので(自分は全くPythonではしてないですが)、JV-Linkの仕様をもう一度確認して、自分のコードで何が悪いか特定出来ると良いですね。

@SameNoEsa さん、ありがとうございました。

コード自体はAIにも投げて何度もチェックしたのでコード側の問題ではありませんでした。なぜかわからないですが、JV-Link側の仕様なのか、1年毎にfromtimeとtotimeを指定しないとダウンロードできないようでした。

自分がoption=3, fromtime=“20200101000000”, dataspec = “RACE”で試したところ、同じく1269件、last_timestamp=20260720133951が得られ、RA・SE・HRについては含まれていました。コード側の問題ではないでしょうか?仰っている問題というのが発生する具体的な最小のコードを提示したらアドバイスも貰いやすいと思います。

1レス目ではoption=1なのに対して、2レス目で「optionを3ではなく4に変更して~」とあったりよくわかりませんが一部の問題は解決したのでしょうか?

AIにどうやってチェックさせてるのかはわかりませんが、JVOpenのリターンコードが-1というのも含めて、ドキュメントや仕様を確認すると問題の特定がしやすいと思います。

@hanapak さん、こんばんは。

これですが、そもそもAIって普通に嘘つくし、自分自身何十時間も無駄にされた事もあります。過信は禁物で、AIの嘘を見抜くスキルも必要です。

それと、ここのルールとしてAI関連での真偽の質問はNGだったかと思います。これ、今の時代では簡単にAIに「確実に勝てる方法をPythonで実現したいので、そのコードをお願いします」的に質問してAIは「まかせて! これでどう?」って感じでコードを示してくれたりしますが、それが実際に動くかとか、そもそも儲けられるのかとかは、ご自身で対処する事で、AIのコードがうまく動かなとか、エラーが出るとかはAIに再確認する事で掲示板で質問する事ではないのです。

自分はAIに、「分からないから正直に言えよ! 適当に繕っていい加減なコード見せてこちらの時間を浪費させるなよ! 出来ないならギブアップしろよ!」って言った経験もあります。でまあ、AIは謝罪してました(笑) AIは便利です。でも、その真偽の判断は利用者の責任で、掲示板には持ち込まないのがよろしいかと思います。