4

最近、HTML5 とローカル DB の作成と使用に関する記事を見ました。また、既存の Access Db バックエンドへの Javascript 接続文字列の例もいくつか見てきました。Db を構築し、レコードをプリロードし、Web アプリを使用して Db に接続して読み取る方法を見つけることに興味があります。たとえば、私は Windows で Tcl を使用して、Sqlite Db ファイルを読み取る多くのスタンドアロン アプリケーションを作成しました。基本的に、アプリケーション (.exe ファイル) と Db ファイルはフォルダー内で隣り合って配置され、サーバーを使用しないことを除いて、他の Db アプリケーションと同様に機能します。

同じことができるようにしたいと思いますが、Web アプリ (.html) と Db ファイルを使用します。これが可能かどうか誰にもわかりますか?例として、プリロードされた単語がバックエンドに保存され、任意のブラウザーで実行される言語アプリケーションを構築したいと考えました。したがって、Web アプリと db ファイルの 2 つのファイルが存在します。

リソースへの提案やリンクをいただければ幸いです。私が思いついた唯一のことは、Javascript を介して OLE 経由で Access に接続することでしたが、Sqlite のようなマルチプラットフォームの Db が必要です。

ありがとう、

DFM

4

2 に答える 2

3

JavaScript を使用して、作成済みの sqlite db ファイルにアクセスできます。このリンクの「データベース ファイルの場所」領域を見てくださいhttp://code.google.com/apis/gears/api_database.html

これは Google Gears 用であることはわかっていますが、Gears は SQLite を使用しており、場所は Gears なしで sqlite db ファイルのみを使用して適用されます。

たとえば、Firefox アドオン「SQLite Manager」を使用して、ローカル マシンに sqlite db ファイルを作成しました。次に、そのファイルを C:\Users\\AppData\Local\Google\Chrome\User Data\Default\databases\file__0 にコピーしました

Google Chrome で JavaScript を使用してファイルにアクセスできました。

    var db = null;

    try {
        if (window.openDatabase) {
            db = openDatabase("mydbfile.sqlite", "1.0", "HTML5 Database API example", 200000);
    ....

Chrome では、各 sqlite データベースに ID 番号で自動的に名前が付けられるため、ファイル名に注意する必要があります。たとえば、ブラウザーで JavaScript から読み取れるようにするには、sqlite db ファイル名を 14 に変更する必要がありました。これを行うと、チャンピオンのように機能し、すべてのテーブル、データなどにアクセスできました.

于 2011-04-17T08:06:07.443 に答える
3

Web アプリ、そのローカル データベース、および「プライミング」データはすべてどこかで開始する必要があるため、Web サーバーへのライブ接続中にすべてが開始されると仮定します。この最初のヒットが入ったとき、あなたは:

  1. ページと関連コードを配信します。
  2. JavaScript で、データベースの存在をテストします。
    1. 存在しますか?プライミングは必要ありません。何もしないか、同期などを行います。
    2. 存在しない?それを構築し、初期データを提供します。これが遅い場合は、ユーザーにわかりやすい警告を与えることができます。「セットアップ中です。しばらくお待ちください。」すべてのデータをどのようにプッシュ ダウンしているかによっては、「データベースの初期化中: 10%」という進行状況バーが表示されることもあります...
  3. ステップ3はありません。

セットアップが完了すると、ローカル以外のリソースを想定せずにコーディングする限り、このアプリは完全にローカルになる可能性があります。ネット接続は必要ありません。

参考文献:

于 2010-07-11T05:12:11.013 に答える