問題タブ [mdbtools]
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.
python - Java を使用しない mdbtools の代替手段はありますか?
そのため、Python と SqlAlchemy を使用して、Linux システム (Ubuntu 20.04 および CentOs 8) で MsAccess DB ファイルを操作しようとしています。そして、最も単純なクエリでも mdbtools ドライバーを動作させることができません。私の自宅のUbuntuでは、最新のsqlalchemy_access、pyodbc、unixodbcをインストールしました。ドライバーとして、odbc-mdbtools をインストールしました。
/etc/odbcinst.ini で正しく接続されました:
DSN URI は次のとおりです。
私のDBモデルは次のとおりです。
したがって、最初のリクエストを行うまで、すべて問題なく実行され、エラーは発生しません。ベースからすべての記事を単純に取得しようとすると、次のエラーが発生します。
ご覧のとおり、SQL ステートメントは正しく、DBeaver で問題なく実行されます。mdbtools ドライバーに問題があるようです。そのため、Linux で動作する別の MsAccess ドライバーを見つけようとしました。この古い回答によると、mdbtools (JayDeBeApi と Jython) には 2 つの選択肢しかありませんでした。また、DBeaver は UCanAccess ドライバーを使用します。これらはすべて Java VM に依存しており、内部の問題によりターゲット システムでは使用できません。Java を使用しない MsAccess の既知の代替ドライバーはありますか?
PS DB とモデルに ID 列を 1 つだけ残して raw リクエストを実行しても、同じ問題が発生します。
PPS isqlユーティリティを使用すると同じ問題が発生します。ツール mdb-sql は正常に動作します - UTF-8 文字を表示します (DB にはロシア語があります)。