1

最近、両方のソリューションを使用 (テスト) して、Access (MDB ファイル) からデータを取得していました。また、Jackcess はデータベースのデータにアクセスするためにパスワードを必要としないのに対し、UCanAccess はパスワードを挿入した場合 (データベースにパスワードが存在する場合) にのみ機能することがわかりました。

それで、wtfは本当に起こりますか?Jackcess が UCanAccess に依存している場合、なぜパスワードが必要なのですか? または、なぜ Jackcess もパスワードを必要としないのですか?

ありがとう!

4

1 に答える 1

2

古い形式の .mdb データベースにデータベース パスワードが割り当てられている場合、ファイルは実際には暗号化されません。(MS Access アプリケーションの古いバージョンには、ファイルを暗号化する別のオプションがありましたが、その保護でさえかなり脆弱でした。)

ファイルが暗号化されていない場合、Jackcess はファイルを開くためにパスワードを必要としません。実際、Jackcess は、暗号化されていない (ただし「パスワードで保護された」) .mdb ファイルからデータベース パスワードを取得する方法を提供します。

質問へのコメントで示唆されているように、UCanAccess 開発チームは、他の上位レベルのデータ アクセス方法と一貫性を保ち、データベースを開くときにユーザーが正しいパスワードを入力することを要求することにしました。データベースのパスワードを UCanAccess アプリケーションにコーディングすることを本当に避けたい場合は、いつでも可能です。

  • 最初にJackcessでデータベースファイルを開き、
  • Jackcess 呼び出しを使用してデータベースのパスワードを取得します。
  • データベースへの Jackcess 接続を閉じてから、
  • データベースへの UCanAccess 接続を開くときに、データベース パスワードを指定します。

新しい形式の .accdb データベースにデータベース パスワードを適用する場合、ファイルは実際には暗号化されているため、Jackcess と UCanAccess の両方で、正しいパスワード (追加のコンポーネント「Jackcess Encrypt」と依存関係に加えて) が必要であることに注意してください。

于 2015-10-08T16:36:27.243 に答える