2008-08-21 15 views
5

私は聞いてほしいと思うが、私のクライアントは他のSQL(またはSQLのような)ソリューションを提供しないかもしれない。私はAccessにいくつかのSQLフックがあることを知っている。彼らは基本的なActiveRecordのために十分ですか?その後アクセスバックエンドでRailsを実行するためのヒントはありますか?

は私が他のデータベースを使用するすべての提案に感謝しますが、私を信頼:私は彼らを説得しようとしました。 「承認済み」リストがあり、そこにはSQLデータベースはありません。リストに何かを載せるには1年以上かかることがあり、このプロジェクトは3週間で完了します。

+0

叔母ビー、私はあなたのための料理のヒントを持っています:しないでください! –

答えて

1

さらに複雑ですが、強制された場合にはうまくいく別のオプションは、レールへのアクセスを公開するRESTful Webサービスのレイヤーを作成することです。設計に注意するならば、ActiveResoureによってRESTfulなWebサービスを直接消費することができます。これは、ActiveRecordの多くの機能を提供します。

1

Accessに問題が発生する恐れのあるものがいくつかありますが、ODBCがそれを処理するかどうかわかりません。 @ John Topleyが正しいとすれば、ODBCがあなたの唯一の邪魔になるでしょう。アクセスにおける真の

  1. = -1ない1
  2. のアクセスは異なり、通常のTSQLよりも日付を扱います。
  3. リレーションシップを作成する際に問題が発生する可能性があります。

あなたがアクセスして行けば、おそらくAcriveRecordをデバッグの詳細を学びます、あなたは今までに世話(悪いことではない可能性があります)

2

ここにアクセス接続アダプタのようなものがあるようです:http://svn.behindlogic.com/public/rails/activerecord/lib/active_record/connection_adapters/msaccess_adapter.rb私はRailsの2.1

でそれを試してみた後、私はより多くを投稿します

development: 
    adapter: msaccess 
    database: C:\path\to\access_file.mdb 

database.ymlのファイルは次のようになります。

+1

私は昨晩同じファイルを遭遇しました。MDBが事実上レガシーであると仮定して、読み込み操作をサポートすることを主な目的としています。また、テーブル/カラム名に空白がついているのは好きではありません(私のせいだとは言えませんが)。モデルの 'set_table_name'を使ってカラムの名前を変更するクエリを追加できれば簡単に管理できます。 –

0

あなたは本当にSQLiteを許可するように話すべきです。これはセットアップが非常に簡単で、Accessのように(同じサーバ上のアプリケーションの隣にあるファイルとして)動作します。

0

まず、本当に sqliteを使用したいと考えています。

アクセス自体は[redacted]の山ですが、使用するJetデータベースエンジンはかなり高速で、かなり複雑なSQLクエリを処理できます。あなたが実際に動作するレールアダプタを見つけることができれば、あなたは大丈夫だろうと言いたいだろう。

あなたのクライアントが、承認されたデータベースのリストだけで開発できるようにするには、十分なアナルを持っているならば、実際にはJet isdeprectatedとなり、MSからのサポートはなくなります。

これは、実際のデータベースを使用するためのいくつかの弾薬を与えるかもしれません。運の良い

1

Mauditeは書いた:

真のアクセスに= -1 1

正しいれていません。真は偽でないと定義される。したがって、WHERE句でTrueを使用する場合は、代わりにNot Falseを使用します。これは、すべてのSQLエンジンとの完全なクロスプラットフォーム互換性を提供します。

バックエンドに接続するために使用しているドライバがWHERE句の適切な値に正しく変換されるため、ほとんど問題はありません。唯一の例外はパススルークエリである可能性がありますが、その場合は、Accessの外部にSQLを書き込んで、バックエンドに対してテストし、作業SQLをAccessのパススルークエリのSQLビューに貼り付けるだけです。

Mauditeは書いた:

アクセス扱いは、通常のTSQLとは異なるさかのぼります。

また、これは、Jet SQLをTSQLに変換するためにODBCまたはOLEDBドライバを使用しない場合にのみ問題になります。

Mauditeは書きました:あなたは、トラブルの作成関係に遭遇するかもしれません

私はあなたのバックエンドのスキーマを変更するAccessアプリケーションをしたいと思う理由はわからないんだけど、これは非問題のように私には思えます。

関連する問題