問題タブ [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.
odbc - Can I make a DSN-less connection using pyodbc and mdbtools?
I've tried the following:
Connecting to a database using a DSN entry works fine, but I'd like to supply a database in the code.
ms-access - Is there a replacement for mdbtools?
I'm using mdbtools' SQL functionality to connect to an .mdb
file on linux. Mdbtools is still beta and hasn't been updated since 2007, many features like sufficient SQL support aren't available yet.
Features I need:
- SQL, either with python bindings or through ODBC.
AS
statement in SQL operations.JOIN
if possible.- Runs on non-windows.
- Sub-selects would be really handy.
- Write support is not necessary.
Is there a replacement for it that is actively being developed?
ms-access - MS Access データの MySQL への移行: 文字エンコーディングの問題
Access 2000 データベースによって作成された MS Access .mdb ファイルがあります。次のコマンドを使用して、mdbtools でテーブルを SQL にエクスポートしようとしています。
これで期待どおりのファイルが生成されますが、1 つだけ例外があります。一部の文字が疑問符で表されています。これ: 「彼は準備ができていませんでした」は、次のように表示されます: 「彼は準備ができていませんでした」、一部のケース (主に一重/二重中括弧) でのみ、コンテンツが MS Word から DB に貼り付けられた可能性があります。それ以外の場合、データは見栄えがします。
「export MDB_ICONV=」のさまざまな値を試しました。結果のファイルでiconvを使用してみました.from/toにISO-8859-1、from/toにUTF-8、fromにWINDOWS-1250とWINDOWS-1252とWINDOWS-1256を使用して、さまざまな組み合わせ。しかし、私はそれらの巻き毛の引用符を取り戻すことに成功していません.
率直に言って、結果のファイルの外観に基づいて、問題は元の .mdb ファイルまたは mdbtools にあると思われます。不正な文字はすべて単一の疑問符ですが、同じものの不正なバージョンではないことは明らかです。そのため(私の直感によると)、結果のファイルには十分なデータがありません。そのため(私の直感によると)、結果のファイルで問題を修正することはできません。
誰もこれに遭遇したことがありますか?前進するためのヒントはありますか?FWIW、私は MS Access を持っていませんし、一度も持っていません-ファイルはサードパーティからのものです-データベース上の何かを変更するのと同じくらい簡単かもしれません。それを聞いてとてもうれしいです。
ありがとう。
linux - Microsoft Access のバックアップ ファイルには独自の形式がありますか?
私のクライアントはどういうわけか彼のサイトをノームによって紛失/ハッキング/破壊されました.私は彼のためにバックアップからそれを復元する「楽しい」仕事をしています. ColdFusion と Microsoft Access を組み合わせて使用します (うん!)。コンピュータに Railo サーバーをセットアップしましたが、そのままでは Microsoft Access .mdb ファイルを使用できません。次に、mdbtools を使用して、データベース ファイルを使用可能な形式に変換してみました。.mdb ファイルでは問題なく動作しましたが、ファイルの 1 つにファイル拡張子 .BAK が付いています。これは、ある種の独自の Microsoft Access バックアップのものであると想定しています。
私の質問は次のとおりです。Microsoft Access .BAK ファイルを .mdb ファイルに変換する方法があるかどうか知っている人はいますか? 私は明らかに名前を変更しようとしましたが、効果はありませんでした。
$ mdb-tables tradelionNew_db_200710080307.BAK
データベースを開けませんでした。
別の質問ですが、このエラー メッセージは、ファイルがパスワードで保護されていることが原因でしょうか?
詳細情報: テキスト エディターでファイルを開いたところ、最初の行の最初に単語がTAPE
あり、その後にランダムな (バイナリ) 文字がたくさんあります。.mdb ファイルには単語が含まれていますStandard Jet DB
。これは、ファイルの種類を示すファイル ヘッダーの一部だと思います。また、.BAK ファイルでは、多くのコンテンツが実際にはプレーン テキストで利用可能であったため、ファイルがパスワードで保護されている場合、Microsoft はその保護に失敗したことは間違いありません。
python - Ubuntu 11.10 で Python と unixODBC を使用して MS Access JET 4 データベース (.mdb) を読み取る: 不正な値を取得する
Ubuntu 11.10 32 ビットで Python 2.7.2 (unixODBC 2.2.14、pyodbc 2.1.11、および mdbtools ドライバー) を使用して Microsoft Access データベース (JET 4 .mdb) を読み込もうとすると、問題が発生します。はい、私はそれが恐ろしい考えであることを知っていますが、奇妙なことに、それは私が見つけることができる最も簡単な解決策です. さまざまな理由で .mdb データベースを別の形式 (sqlite など) に変換することは避けたいのですが、これが理解できない場合は、これが唯一の解決策のようです。この質問が長くなってしまったことをお詫び申し上げます。また、Linux および odbc/database の取り扱いについても初心者です。私はこれを理解しようと 3 日間費やしましたが、最後の 2 日間はどこにも行きませんでした。
問題: データベースを読み取ることはできますが、値が正しくエンコード/フォーマットされていません。
Python コード:
出力:
行:
次のようにする必要があります。
私が考え、理解しようとしているのは、列情報の読み取り時 (SQLDescribeCol.c) および/またはデータのフェッチ時 (SQLFetch.c および SQLGetData.c) にエラーがあるということです。
たとえば、列 1 と 2 を見てみましょう。列 1 はタイム スタンプであり、そのように正しく識別されます (SQL_TYPE_TIMESTAMP)。また、正しい値をバッファに読み込みます (Buffer = [03/14/03 15:40:00]) が、結果の出力が 8 文字の長さ '03 であるため、8 である Column Size/StrLen Or Ind によってショートされているようです/14/03」、サイズ 8 はバイト (?) を指すと思っていましたが。
列 2 は整数値 1 ですが、バッファでは 49 として読み取られます。理由はわかりませんが、すべての整数値を ASCII コード/数字 (1 は 49、2 は 50 など) として読み取るため、かなり不便です。また、数値が大きくなった場合 (たとえば、1728 が 942815025 になる) に対処する方法がわかりません。double の数値もバッファーで正しく読み取られません。
ログの SQLDescribeCol、列 1 および 2 (以下にリンクされている完全なログ ファイルと同じ):
ログ列 1 および 2 からの SQLGetData:
これらは、mdbtools によって提供されるテーブル abd の列です。
完全な ODBC ログ ファイル: http://pastebin.com/Q01ahwCW
これを解決する方法について誰かがヒントを持っている場合 (簡単なデータベース変換を含む) は、非常に頻繁に変換する必要があるため、非常に高く評価されます! さらに情報が必要な場合は、提供できます。
ありがとう!
codeigniter - CodeIgniter - Access ODBC で空の結果を返す Active Record
Linux システムで mdbtools を介して Access DB に接続していますが、Active Record を介してクエリを実行すると、空の結果が返されます。エラーやログに表示されるものはありません。何か案は ?問題なくデータベースに接続し、テーブルへのアクセスや、デフォルトの PHP メソッド (odbc_exec(...) など) を使用したクエリの実行に問題はありません。
DB 接続は次のようになります。
odbc.ini は次のようになります。
接続先:
php - Access DB の SQL クエリは、mdbtools を使用して null または空の結果を返します
SELECT *
ODBC を使用して Access DB にクエリを実行する以外の条件を使用すると、次のエラーが発生します。No tuples available at this result index
何か案は ?特定の GROUP BY クエリは次のとおりです。
編集
mdbtools のコマンド ライン ツールから直接クエリを実行すると、次のようになります。
php - MDBTools Driver を使用して ODBC で Access データベースにアクセスする LAMP (PHP)
PHP を使用した Ubuntu で unixODBC ドライバーを使用した SQL サポートが制限されているかどうか、誰か教えてもらえますか? Ubuntu 11.10 で基本的なランプ サーバーをセットアップしました。Access データベースにクエリを実行しようとしています。php5-odbc と MDB ツールをインストールしました。サンプルコードは次のとおりです。
最初のクエリである単純な選択は問題なく機能します。ただし、結合 (2 番目のコメント付きクエリ) を実行しようとすると、0 レコードを受け取ります。Access 内の SQL エディターで SQL を正常に実行できたので、SQL が正しく、そこで結合が機能していることがわかります。誰もこれを経験したことがありますか?Linux がプロプライエタリな Microsoft 製品と互換性を持つように作られていないことは知っていますが、残念ながら、Ubuntu で Access データベースを読み取れるようにする必要があります。どんな助けでも大歓迎です。
php - MDBToolsドライバーを使用したPHPODBCとのDSNレス接続
MDBToolsドライバーを使用してAccessデータベースから読み取り、Ubuntu11.10でを実行しようとしていますodbc_connect
。でDSNセットアップを使用すると、正常に機能します/etc/odbc.ini
。
以下はその内容です/etc/odbc.ini
:
odbc.ini
参照のDriver属性MDBToolsODBC
なので、ここに私のodbcセットアップがあります/etc/odbcinst.ini
:
私の問題は、を使用するとき$conn = odbc_connect('logindb','','');
に、データベースの場所にハードコードされた値を使用する必要があることです。理想的にはodbc_connect
、DSNなしの接続を使用する最初のパラメーターを指定して、データベースファイルを変数(さまざまなデータベースから読み取る)にできるようにします。何かのようなもの:
odbc:プレフィックスなしでも試しましたが、機能しませんでした。DSNの指定が機能する理由を誰かに教えてもらえますが、同じ属性のように見えるものを使用してその場で指定しようとすると、機能しませんか?これは、DSNなしの接続の最初のパラメーターのパラメーターと内容に関係していると思います。いつものように、どんな助けでも大歓迎です。
django - mdbtools の Django requirements.txt pip
私が持っているdjangoアプリでmdbtoolsを使用しようとしています。requirements.txt ファイルに次の 2 行を含めました。
しかし、いくつかのエラーが発生しています:
! Heroku プッシュが拒否され、Python アプリのコンパイルに失敗しました
問題なく、mdbtools と mdbtools-dev の両方を sudo apt-get install します。何が起こっているのか誰にも分かりませんか?