蓄積系データ(RACE)のJVReadで特定レコード種別(O5/HR/SE等)が返されない件

## 環境

- JV-Link バージョン: 4.9.0 (2026-04-08に再インストール済み)

- SID: 非公開とします

- OS: Windows 11

- 開発言語: Python 3.11 (32bit) + pywin32

- データ保存先: C:\ProgramData\JRA-VAN\Data Lab

## 症状

JVOpen(“RACE”, fromtime, option) → JVRead のループで、RA/SE/HR/O1〜O6 のレコードが一切返されず、H1とJGのみが返されます。

### 再現手順

```python

import win32com.client

jv = win32com.client.Dispatch(“JVDTLab.JVLink”)

jv.JVInit([SID])

result = jv.JVOpen(“RACE”, “20210101000000”, 1, 0, 0, “”)

# → readcount=1364, dlcount=1025

while True:

r = jv.JVRead(" " \* 200000, 200000, "")

rc = r\[0\]

data = r\[1\]

if rc == -1: break      # EOF

31

if rc == -3: continue    # DL中

if rc <= 0: continue

print(data\[:2\])  # → "H1" または "JG" のみ。RA/SE/HR/O5等は一度も返されない

jv.JVClose()

```

### 確認結果

| 項目 | 結果 |

|------|------|

| readcount | 1364 (ファイルは認識されている) |

| dlcount | option=1で1025, option=4で0 (ファイルDL自体は正常) |

| JVReadで返るレコード | H1, JG のみ |

| 返されないレコード | RA, SE, HR, O1, O2, O3, O4, O5, O6, WF |

| data/cacheディレクトリ | O5/HR/SE等のJVDファイルは存在する |

| fromtime変更 | 1986〜2026の範囲で変更しても結果同じ |

| option変更 | 1, 3, 4 いずれでも同一の結果 |

## 試行済み対策

1. data/cache/eventディレクトリの全削除 → SETUP(option=4)再実行 → 変化なし

2. JVFileDeleteでO5等のJVDファイルを削除 → 変化なし

3. JVSetSaveFlag(0)で一時的にデータ保存OFF → downloadcountは増加するがJVRead結果は同じ

4. JV-Linkのアンインストール → PC再起動 → 最新版(ver 4.9.0)を再インストール → cache/dataを

空にしてSETUP再実行 → 変化なし

## 質問

上記の通り、JVDファイル自体はdata/cacheディレクトリに存在し、readcountにも含まれていますが、JVReadでレコードが返されません。

以下についてご確認いただけますでしょうか。

1. サーバ側でレコードの配信済みフラグ(既読管理)が設定されている可能性はありますか?

2. その場合、配信済みフラグをリセットしていただくことは可能でしょうか?

3. あるいは、クライアント側で既読状態を解除する方法があれば教えてください。

お手数をおかけしますが、よろしくお願いいたします。

ダウンロードの待機のためにはJVStatusの確認が必要だと思いますが、これはしてないように見えます。とりあえずJVReadの-3エラーではなくJVStatusを使ってみるのが良いのではないでしょうか。その値が何であるかもヒントになりますし。

アドバイスありがとうございます!確認してみます!