8

Rails 2.x から MS SQL Server 2005 を使用した経験のある人はいますか?

当社の開発者は Mac OS X を使用し、製品は Linux で実行されます。従来の理由から、MS SQL Server 2005 を使用する必要があります。

私たちは ruby​​-odbc を使用しており、さまざまな問題に直面しています。私たちは何か間違ったことをしているという印象を受けます。

私は、妥協のない使用法、つまり、移行などについて話しているのです。

ありがとうございました、

4

4 に答える 4

8

JRuby の使用を検討しましたか? Microsoftには、UNIXバリアントで実行できるSQL Server用のJDBCドライバーがあります(純粋なJava AFAIKです)。今日、JRuby と Rails 2.1 で動作する 2.0 テクノロジ プレビューを入手できました。まだ移行を試していませんが、これまでのところ、ドライバーはうまく機能しているようです。

これを機能させる方法の大まかなスケッチを次に示します。

  1. Java 6 がインストールされていることを確認します
  2. JRuby Web サイトの指示に従って JRuby をインストールします。
  3. gem を使って Rails をインストールする ( jruby -S gem install rails)
  4. Microsoft の SQL Server JDBC ドライバー(バージョン 2.0)の UNIX パッケージをダウンロードします。
  5. Microsoft の SQL Server ドライバーを展開します。
  6. sqljdbc4.jar を見つけて、JRuby の lib ディレクトリにコピーします。
  7. jruby -S gem install activerecord-jdbcmssql-adapter
  8. Rails プロジェクトを作成する ( jruby -S rails hello)
  9. 適切な設定を database.yml に入れます (以下の例)。
  10. これで準備完了です。モデルを実行jruby script/consoleして作成してみてください。
    発達:
      ホスト: ローカルホスト
      アダプター: jdbc
      ユーザー名: さ
      パスワード:キッテ
      ドライバー: com.microsoft.sqlserver.jdbc.SQLServerDriver
      URL: jdbc:sqlserver://localhost;databaseName=mydb
      タイムアウト: 5000

注: JDBC ドライバーで Windows 認証を使用できるかどうかはわかりません。SQL Server 認証を使用する必要がある場合があります。

頑張ってください!

ベン

于 2008-10-09T03:24:44.510 に答える
3

運用サーバーを Linux で実行する代わりに、Rails を Windows で実行することを検討しましたか? 現在、SQL Server を使用してアプリケーションを開発していますが、問題なく動作するように見えるまでは.

これらは、Windows で実行されている Rails 2.0 アプリケーションから SQL Server データベースにアクセスするための手順です。

Rails 2 には SQL Server アダプターがデフォルトで含まれていません。次のコマンドを使用してダウンロードし、インストールする必要があります。

gem install activerecord-sqlserver-adapter
--source=http://gems.rubyonrails.org

から ruby​​-dbi の最新バージョンをダウンロードします。

http://rubyforge.org/projects/ruby-dbi/

次に、ruby-dbi\lib\dbd\ADO.rb からファイルを抽出します。

C:\ruby\lib\ruby\site_ruby\1.8\DBD\ADO\ADO.rbに。

警告、フォルダー ADO は存在しないため、事前に作成する必要があります。

--database オプションを使用して SQL Server のレールを事前設定することはできません。通常どおりアプリケーションを作成してから、アプリケーション フォルダ内の config\database.yml を次のように変更します。

development:
adapter: sqlserver
database: your_database_name
host: your_sqlserver_host
username: your_sqlserver_user
password: your_sqlserver_password

rake db:migrate を実行して、インストールを確認します。すべてが正常であれば、エラー メッセージは表示されません。

于 2008-09-19T05:01:07.090 に答える
1

レガシーデータベースからの移行を検討することを強くお勧めします。あなたはおそらくすぐに痛みの世界に身を置くでしょう。経験から、Railsとレガシースキーマもうまく連携しません。

私はこれに「良い解決策」があるとは思いません、私は恐れています。

于 2008-09-15T23:36:01.357 に答える
1

当社の開発者は Mac OS X を使用し、製品は Linux で実行されます。従来の理由から、MS SQL Server 2005 を使用する必要があります。

Ubuntu 8.04 で開発していますが、本番サーバーは Linux (Centos) を実行しており、SqlServer 2005 も使用しています。

私たちの経験からすると、最初のセットアップと構成は非常に骨の折れる作業でした。すべてがうまく機能するようになるまでに数週間かかりました。しかし、今ではまったく問題なく、SqlServer が完全に機能していることがわかります。

一度設定すると問題ない FreeTDS ODBC ドライバーを使用します。

Windows で実稼働の Rails アプリを実行しないでください。トラブルを求めているのです。開発には問題ありませんが、それ以上のものはありません。Rails は、Windows プラットフォームではうまく拡張できません。

それが役立つことを願っています。

于 2009-04-17T08:44:50.997 に答える