[前][次][番号順一覧][スレッド一覧]

mysql:12603

From: ま 弐 <ま 弐 <masashini@xxxxxxxxxx>>
Date: Thu, 22 Dec 2005 15:00:46 +0900
Subject: [mysql 12603] odbc driver 3.51 を使用した decimal の扱い

はじめまして。石川と申します。よろしくお願いします。

さっそくですが、一つ質問があります。
開発環境
Windows XP
Visual Studio .NET
MySQL 4.1.15
MySQL connector odbc 3.51.12

 現在、データグリッドにテーブルデータを配置して、編集・更新ができる修正ツー
ルを作成しているのですが
 ODBCドライバを使用して、Update、Delete、Insert を行った場合、データベース
のカラムの型にdecimalがあると

ERROR [07006] [MySQL][ODBC 3.51 Driver][mysqld-4.1.15-nt]Restricted data 
type attribute violation(SQL_C_NUMERIC)

 と、型変換で失敗とのエラーが出てしまいます。公式ページの掲示板の開発者回答
によると、MySQLのODBCドライバのバグとのことです(2004/7の時点で 3.53が出るま
で待ちなさいとかなんとか・・・)
 http://bugs.mysql.com/bug.php?id=3028
 http://lists.mysql.com/myodbc/6900

 ドライバのバグではどうしようもないので、テーブルの型はdecimal のままで、
アプリケーション側の型を decimal → double へ変更しようとしています。
以下の変更を行いましたが、同様のエラーが出てしまいます。


 OdbcDataAdapter.UpdateCommand.Parameters[].OdbcType
 OdbcDataAdapter.UpdateCommand.Parameters[].DbType
の変更

DataSetのクローンを作成し、カラムの追加時にdecimalだったら型変換
OdbcDataAdapter.Update( dataSetClone );
のように、クローンをアップデート



 同様のバグに当たり、解決できた方はいませんでしょうか?よろしくお願いしま
す。



[前][次][番号順一覧][スレッド一覧]