- PR -

servlet&jsp Access2002追加書き込み不具合について

1
投稿者投稿内容
jokers
ベテラン
会議室デビュー日: 2002/08/04
投稿数: 73
投稿日時: 2003-01-25 11:21
 "jokers"です。宜しくお願いします。
 Jsp、servletにてパッケージを作成中ですが、以下の不具合が発生致しました。
 *追加書き込み時に氏名等、日本語するフィールドに全文字書き込みできません。
例えば、「山田太郎」と入力して、書き込みを実行すると「山田」となり、氏名の「太郎」
が欠如したり、今度は「やまだたろう」と入力してみると「やまだた」というふうに全文字
追加されない。
 *英字は問題ないようです。
 *いろいろなパターンにてテストを行ったが、特殊文字とか特定の文字が読み込めないというわけではないようです。

 パッケージの概要としては、会員名簿を入力し、確認画面を表示、登録ボタンを押すとDB(access2002)に追加書き込みされるというシンプルなものです。
 作成状況及び動作環境として
 HTML  入力画面
 JSP   入力必須項目欠如の際に入力済の画面を戻すためにJSpを使用(sessionを使用)
 servlet 登録確認画面と追加書き込みのSQL作成実行等
 encoding Shift_JISにて統一(decodeは行っていない)
 access2002のフィールド設定(テキスト指定 フィールド長最大255,ちなみにメモ指定に               て行ってみましたが上記の状況はかわらず)
 "sun.jdbc.odbc.JdbcOdbcDriver"を使用
 prepareStatementを使用
 visuaLAge for java(ver4.0)テスト環境にて//J2SDK ver1.2.2を使用できるどのプラッ トフォームでも実行するアプレット、サーブレット、アプリケーションできるものです。   OS:windowsMeにて
マシンスペックは1年前に購入した最新機種にてその面での問題はないように思われます。
 最近この会議室にトピックとして上がった評判の良くないjdbcドライバーに起因するものか、MSaccess2002DBに起因するものか、はたまた、上記のJAJ4.0に起因するものか(IBMの技術フォーラムにもアップしておりますが)ちょっと判断がつかないものですから、諸先輩方のアドバイスを宜しくお願いしたいと思い、アップさせて頂きました。(^^?)⇒(^^!)
 宜しくお願い申し上げます。  

 
へげもん
ベテラン
会議室デビュー日: 2002/04/14
投稿数: 87
お住まい・勤務地: 埼玉県
投稿日時: 2003-01-25 16:07
原因うんぬんを言う前に、まず状況の切り分けが必要です。
同じようなDBアクセスをWebと関係ないコンソールから起動するJavaプログラムから行ってみてください。
問題がWebまわりにあるのか、そのJDBCドライバにあるのかがはっきりします。
jokers
ベテラン
会議室デビュー日: 2002/08/04
投稿数: 73
投稿日時: 2003-01-26 12:31
大変申し訳ございません
コンソールメッセージを確認せず投稿してしまいました。
java.sql.SQLException: Driver does not support this function
java.lang.Throwable(java.lang.String)
java.lang.Exception(java.lang.String)
java.sql.SQLException(java.lang.String, java.lang.String)
と出ておりますので、ドライバーに起因するエラーだとは思いますが、他のものに入れ替えすればいいのかどうか。
何を使用すればいいのでしょうか。
parolibre
常連さん
会議室デビュー日: 2002/12/30
投稿数: 33
投稿日時: 2003-01-26 15:10
引用:

java.sql.SQLException: Driver does not support this function
 <省略>
と出ておりますので、ドライバーに起因するエラーだとは思いますが、他のものに入れ替えすればいいのかどうか。


他の、その機能がサポートされているJDBCドライバに入れ替えれば、たぶん問題は解決するでしょう。
他のドライバの一覧はこちら↓
http://industry.java.sun.com/products/jdbc/drivers

ただ、prepareStatementを使われていると言うことですが、これをprepareStatementを
使わない形式に置換したらどうなりますか?
経験則としてはパフォーマンスが犠牲になるものの、処理的にはうまく行くことの方が多いように思います。
この場合も、JDBC-ODBCドライバの特性(というより制約事項)を熟読されることをお勧めします。
とりあえずFAQになっているものはこちら↓
http://java.sun.com/products/jdbc/faq.html
_________________
--
parolibre
1

スキルアップ/キャリアアップ(JOB@IT)