問題タブ [ucanaccess]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - net.ucanaccess.triggers.TriggerException: テーブルが存在しません。:Z_2015_02_24
UCanAccess を介してテーブルにレコードを挿入する際に問題があります。私の挿入は次のようになります。
インサートは、標準によって発射されますjava.sql.Statement
。
UCanAccess は、SQL を内部的に変換します。結果は次のとおりです。
UCanAccess がテーブル名に「Z」を追加するのはなぜですか?
コードをデバッグしたところ、UCanAccess が提供するSQLConverter.escape(sql)
クラスで変更が発生していることがわかりました。SQLConverter
java - 列名にアポストロフィが含まれている場合の「UcanaccessSQLException: 予期しないトークン」
既存のプログラムを JDBC-ODBC Bridge から UCanAccess に変換しています。それは何年も働いています。Java プログラムは MDB ファイルに書き込みます。変換後、1 つの挿入コマンドが機能しなくなりました。
「net.ucanaccess.jdbc.UcanaccessSQLException: 予期しないトークン: [」がスローされます。
いくつかの実験の後、名前にアポストロフィを含む 3 つの列が問題の原因であると判断しました。例: [Sched'd PO Place Date]。どうやら JDBC-ODBC ブリッジは気にしませんでしたが、UCanAccess は気にします。
既存の MDB 構造にとらわれているか、単純にフィールドの名前を変更します。しかし、それを行った場合にダウンストリーム レポートがどれだけ破損する可能性があるかはわかりません。MDB はアドホック レポートに使用されます。
これは、問題の単純化された SQL Select バージョンです。Insert と同じエラーがスローされます。
アポストロフィを「エスケープ」する方法や、ドライバーがアポストロフィを実行できるように ucanaccess を再構成する方法はありますか?
netbeans - JDBC を使用して、Unicode (パンジャブ語、ヒンディー語) データとテーブル/列名を含む Access データベースを操作する
私の Access データベースには、パンジャブ語のテキストを含む列を持つテーブルがあります。JDBCを使用してJava(NetBeans)からそのデータベースを操作しようとしています。
私のコードは次のとおりです。
java - UcanAccess の DELETE 関数が奇妙な例外をスローする
Java 1.8 からの JDBC ブリッジの廃止 (私たちはまだ嘆き悲しんでいます) と UcanAccess への移行以来、私は SQL コードをデバッグしてきましたが、過去には何の問題もありませんでした。
Access 自体で実行すると、エラーや問題はまったく発生しません。ただし、Ucancess は次の例外をスローします。
理由についてのアイデアは大歓迎です!
java - 既存の MS Access テーブルにエクスポートされた Java JTable
私はウェブを精査しましたが、これについては何も見つかりませんでした。JTable にレコードのグループがあり、これらのレコードを MS Access データベースの既存のテーブルにエクスポートする必要があります。すでにデータが存在する可能性があるため、このテーブルにレコードを追加できる必要があります。
私は過去 2 日間、Jackcess と UcanAccess ライブラリについて読んで学びました。この時点で私は完全にタップアウトされているので、誰かが親切にコードを投稿してくれたら、本当に感謝しています。
編集: 午後 5 時 15 分 PT 確かにモノリシック タスク。有益なアドバイスをありがとうございました。私は今、なんとか解決策にたどり着きました。jTable の内容は実際には表示目的でのみ存在し、データセットを他のデータベースにエクスポートするために使用する理想的なソースではないことを理解するのに役立つ投稿を読みました。そこで、Jackcess ライブラリの ImportUtil を使用して、ResultSet を Access データベースに直接エクスポートしました。答えはずっと目の前にありました: http://jackcess.sourceforge.net/ (上から4番目のコードサンプルです)
これが、このために作成した AccessExporter.java クラスです。これは、ResultSet オブジェクト、「TableName」、およびデータベース ファイルの場所を定義する File オブジェクトの 3 つのパラメータを取ります。コードは次のとおりです。
java - Access データベースへの挿入、アポストロフィの問題
Web サイトの情報をアクセス データベースに取得しようとしています。Web サイトから取得した情報から Bean を作成し、その Bean をデータベースに送信しています。問題は、例外によって特定のものをデータベースに入れることがブロックされていることです。例外 -
したがって、この例外を生成している値と共通するものを確認しました。それはアポストロフィです。例外を呼び出しているすべての値にはアポストロフィが含まれており、今のところ実際に変更することはできません。だから私はどうすれば ucanaccess がそのアポストロフィを例外なくアクセスできるようにするのか疑問に思っていましたか?
これはクエリステートメントです
java - ms access データベースと対話する Java - ucanaccess
無限ループの終わりに ms access データベースへの接続を適切に閉じる他の方法はありますか? レコードがテーブルに挿入された場合、以下のコードでは、挿入された新しい行が表示されないためです。データベースが正常に閉じていないように見えます...なぜこのように動作しているのかわかりません。データベースを手動で閉じたり開いたりすると (バックグラウンドでプログラムを実行したまま)、すべて問題ありません。新しい行がクエリに表示されます。