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

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

一括表示 リストに戻る
タイトルJVDTLabLib.dll内でのエラー
記事No8495
投稿日: 2015/10/28(Wed) 23:55
投稿者IA
サンプルコードを一部変更したものでエラーが出ます。

lOptionを3(セットアップデータ)にし、jvddsの各テーブルのレコード数が10
000行を超えるごとに各テーブルマネージャのUpdate関数を走らせるようにして
います。

[変更部のソース]

(サンプルコード)

lOption = "3"

(サンプルコード)

'読み込んだ情報をデータセットへ格納する
SetJVDataRaceDataSet(RaceInfo, jvdds)
'★追加部1
If (jvdds.RACE.Count() > 10000) Then
raceTA.Update(jvdds.RACE)
raceTA.Dispose()
jvdds.RACE.Dispose()
End If
'★追加部1終了
ElseIf Mid(strBuff, 1, 2) = "SE" Then
'馬毎レース情報構造体への展開
RaceUmaInfo.SetData(strBuff)
'読み込んだ情報をデータセットへ格納する
SetJVDataUmaRaceDataSet(RaceUmaInfo, jvdds)
'★追加部2
If (jvdds.UMA_RACE.Count() > 5000) Then
umaRaceTA.Update(jvdds.UMA_RACE)
umaRaceTA.Dispose()
jvdds.UMA_RACE.Dispose()
End If
'★追加部2終了

[エラーコード]
型'System.Runtime.InteropServices.SEHException'の初回例外がAx
Interop.JVDTLabLib.dllで発生しました

追加情報:外部コンポーネントが例外をスローしました。

この例外のハンドラーが有る場合は、プログラムを安全に続行できます。


[環境]
OS:Windows7(64bit)
開発言語:VB.net
開発環境:Visual Studio Express2013 for Windows Desktop
DB:SQL Server 2014
JVLink Version:4.4.0

どのような原因が考えられるのでしょうか?

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

タイトルRe: JVDTLabLib.dll内でのエラー
記事No8514
投稿日: 2015/11/06(Fri) 19:02
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

回答に時間を要してしまい申し訳ございません。

現在、頂いた情報を元に検証を実施している所でございます。
大変申し訳ございませんが、今しばらくお待ちいただけますよう
お願い申し上げます。

タイトルRe: JVDTLabLib.dll内でのエラー
記事No8522
投稿日: 2015/11/09(Mon) 13:52
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

回答に時間を要してしまい申し訳ございません。

「競馬ソフト開発体験教室」のLesson.7のサンプルプログラム と
いう前提で回答させていただきます。
認識が誤っているようでしたらご連絡いただければと思います。

こちらでも「競馬ソフト開発体験教室」のLesson.7のサンプル
プログラムに、ご記載いただいたソースコードを追記して検証を
行っておりましたが、お問い合わせいただいた内容のエラーは
発生しませんでした。

当該サンプルプログラムではMDBを使用しておりますので、
お手数ですがMDBを使用したままの状態でソースを修正頂き、
同じ事象が発生するかご確認いただけますでしょうか。
発生しない場合は、SQLServer側に原因がある可能性があります。

また、その他にもソース修正を実施した箇所があるようでしたら
ご教授いただけますでしょうか。


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

タイトルRe^2: JVDTLabLib.dll内でのエラー
記事No8526
投稿日: 2015/11/10(Tue) 15:55
投稿者IA
ご回答ありがとうございます。

上記の件、確認しました。

サンプルプログラムとまったく同じものを使い、かつDBはMDBを使用した状態で
行いました。ただし、lOptionを3(セットアップデータ)にしております。(ソ
ース修正を実施した箇所はIOptionの行のみになります)

上記の状態で処理を行うと2時間?程度経過したところで同じエラーが出ます。
(最初は順調に動いています。毎回同じ場所、または近い場所で出ているように
見えます)

また、IOptionを変えたサンプルプログラムを他のPCで行っても同様のエラーが
出ました。

上記の内容から考えるとSQLServerに問題があるわけではなさそうです。

こちらでも追加でエラーが出ている行、対象となるダウンロードファイルを調
査を進めたいと思います。

引き続き調査をお願いしたいです。

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

タイトルRe^3: JVDTLabLib.dll内でのエラー
記事No8535
投稿日: 2015/11/22(Sun) 00:15
投稿者IA
エラーが出ているダウンロードファイルを調査しました。

2回施行したところ、以下のファイルを処理中にエラーが出ました。

1回目  H1VM2008119920150831171112.jvd
2回目  H1VM2009069920150831171329.jvd

エラーは同じファイルで出ていないのでダウンロードファイルが原因ではなさ
そうです。

どのような可能性が考えられるでしょうか?

こちらで他にも調査を進めて見ます。

タイトルRe^5: JVDTLabLib.dll内でのエラー
記事No8538
投稿日: 2015/12/01(Tue) 22:33
投稿者IA
SQLを使用しないそのままのサンプルプログラムでも発生します。修正した部分
はlOptionの値のみになります。どのような原因が考えられるでしょうか?

タイトルRe^6: JVDTLabLib.dll内でのエラー
記事No8539
投稿日: 2015/12/01(Tue) 22:34
投稿者IA
> SQLを使用しないそのままのサンプルプログラムでも発生します。修正した
部分
> はlOptionの値のみになります。どのような原因が考えられるでしょうか

詳細はNo.8526をご確認ください。

タイトルRe^6: JVDTLabLib.dll内でのエラー
記事No8540
投稿日: 2015/12/04(Fri) 16:39
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

> SQLを使用しないそのままのサンプルプログラムでも発生します。
> 修正した部分はlOptionの値のみになります。どのような原因が
> 考えられるでしょうか?

ご利用のサンプルプログラムは、JVOpenのOption値"2"
(今週モード)を指定して取得できるデータ量を想定した構造と
なっております。
Option値を"3"(セットアップモード)に変更し、扱うデータ量が
大量になったことによりメモリ管理などがうまくいかず、
エラーとなっているのではないかと推測されます。

現在のプログラムは「全てのデータを読み込んで一度でDBに
登録する」という流れになっておりますが、
これを「1レコードずつ読み込んでDBに登録する」という流れに
変更し、処理の単位を小さくして同じ事象が発生するか
お試しいただけないでしょうか。
(ループの際に初期化すべき変数は初期化する等、メモリ管理も
意識頂きますようお願いします)

また、大量のセットアップデータを登録するため、mdbファイルの
サイズも大きくなります。ご使用のドライブの空き容量が十分に
確保されていることも、併せてご確認いただけますでしょうか。


以上、お手数をお掛けしますが、よろしくお願い致します。

ウィンドウを閉じる