タイトル | : DBに単勝の時系列オッズを入力したい | |
---|---|---|
— | — | |
記事No | : 5168 | |
投稿日 | : 2022/10/17(Mon) 12:15 | |
投稿者 | : くるみ |
「プログラミングパーツ・開発支援ツール提供コーナー」で提供されているデ
ータベース作成クラスで作成したDBに単勝の時系列オッズを入力したいです。
作成したプログラムでは蓄積系データを問題なくDBに入力できました。しか
し、速報系データの時系列オッズをDBに入力するため、発表月日時分をキーとし
て設定する処理(clsDBBuilder.vbのCreateDBメソッドのCREATE TABLE ODDS_TAN
PUKUWAKU_HEADのブロックの”CONSTRAINT ODDS_TANPUKUWAKU_HEAD PRIMARY KEY
(中略)RaceNum));"のRaceNumの後ろに,HappyoTimeを追加する処理)を行
いましたが、以下のエラーメッセージが表示されました。
インデックス、主キー、またはリレーションシップで重複する値が生成され
るため、テーブルを変更できませんでした。重複する値のあるフィールドの値を
変更するか、インデックスを削除してください。または重複する値を使用できる
ように再定義してください。
また、ソフト終了後、DBは以下のようになっていました。
ODDS_TANPUKUWAKU_HEAD:一件のデータのみ
ODDS_TANPUKUWAKU:ODDS_TANPUKUWAKU_HEADで表示されている一件のデータと
同じキーでUmaban01~09の一件ずつ、合計9件のデータのみ
尚、JVOpenはJVRTOpenに、dataspecはYYYYMMDDJJRR、keyは0B42、JVGetsはO1
で取得、DBはコード変更後に再作成しており、こちらは問題ないと考えています
。
DBにはあまり詳しくないので、JV-Data仕様書の「時系列オッズを使用する場
合のみキーとして設定」の解釈を間違えてるのだと思います。
単勝の時系列オッズをDBに入力したい場合はどうすればよろしいでしょうか
。よろしくお願いいたします。|
タイトル | : Re: DBに単勝の時系列オッズを入力したい | |
---|---|---|
— | — | |
記事No | : 5169 | |
投稿日 | : 2022/10/17(Mon) 21:51 | |
投稿者 | : Tachyon |
おそらく「オッズ_単複(ODDS_TANPUKU)」テーブルのキー項目として「発表月日
時分(HappyoTime)」が不足しているため、キー重複が発生していると思われま
す。
キー項目の追加と登録クラスの修正が必要です。(JRA-VAN提供の登録クラスを
使用しているのであれば「clsImportO1.vb」を修正)
ご参考まで。|
タイトル | : Re^2: DBに単勝の時系列オッズを入力したい | |
---|---|---|
— | — | |
記事No | : 5172 | |
投稿日 | : 2022/10/20(Thu) 21:26 | |
投稿者 | : くるみ |
お返事ありがとうございます。
キー項目の追加と登録クラスの修正を行ったところ、一度躓きましたが無事
にオッズを取得することができました。
的確な回答をありがとうございました。
後学として躓いたところを書きます。
clsImportO1.vbを修正する際に、単勝の時系列オッズを入手しようとしてい
た関係で、「ヘッダ部分」と「ODDS_TANPUKU (オッズ_単複)」にHappyoTimeを追
加していましたが、これでは以前と同じエラーがでてしまいました。エラーを調
べたところ、同時に処理される「ODDS_WAKU (オッズ_枠連)」にもHappyoTimeを
追加しなければいけないことがわかりました。そこでその処理を行ったところ問
題なく入力をすることができました。|