0

上記のように、私は試しました:

establish_connection(:adapter  => "jdbcmssql", :url => "jdbc:jtds:sqlserver://myserver:1433/mydatabase;domain='mynetwork';", :username => 'user', :password=>'pass' )
establish_connection(:adapter  => "jdbcmssql", :url => 'jdbc:jtds:sqlserver://myserver:1433/mydatabase;domain="mynetwork";user="mynetwork\user"' )
establish_connection(:adapter  => "jdbcmssql", :url => "jdbc:jtds:sqlserver://myserver:1433/mydatabase;domain='mynetwork';", :username=>'user' )
establish_connection(:adapter  => "jdbcmssql", :url => "jdbc:jtds:sqlserver://myserver:1433/mydatabase;domain='mynetwork';integratedSecurity='true'", :username=>'user' )

・・・など、さまざまな組み合わせが可能です。

私が得るたびに:

net/sourceforge/jtds/jdbc/SQLDiagnostic.java:368:in `addDiagnostic': java.sql.SQLException: Login failed for user ''. The user is not associated with a trusted SQL Server connection. (NativeException)

ユーザー情報なしで試してみると:

establish_connection(:adapter  => "jdbcmssql", :url => "jdbc:jtds:sqlserver://myserver/mydatabase") 

私はこの応答を受け取ります:

net/sourceforge/jtds/jdbc/SQLDiagnostic.java:368:in `addDiagnostic': java.sql.SQLException: Login failed for user 'sa'. (NativeException)

任意のヒント?ありがとう、

  • アクティブレコード (2.3.5)
  • activerecord-jdbc-adapter (0.9.6)
  • activerecord-jdbcmssql-adapter (0.9.6)
  • jdbc-jtds (1.2.5)
  • jruby 1.4.0 (ruby 1.8.7 パッチレベル 174) (2009-11-02 69fbfa3) (Java HotSpot(TM) Client VM 1.6.0_18) [x86-java]
4

2 に答える 2

1

ドメイン、ユーザー、パスワードをまとめて削除してみてください。Java で JTDS を使用して統合セキュリティを介して SQL Server に接続します。指定したのはサーバーとデータベースだけです。これは、ログインしたマシンから残りの資格情報が取得されるためです。実際、1433 ポートも省略できます。これは SQL Server の標準ポートであり、省略できるからです。

于 2010-05-18T03:36:37.213 に答える
0

ユーザーが指定されていない場合、ファイルruby/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.6-java/lib/active_record/connection_adapters/jdbc_adapter.rbの 54 行目は「sa」に置き換えられます。

これを回避するには、空白のユーザー名を指定します。例:

establish_connection(:adapter  => "jdbcmssql", :url => "jdbc:jtds:sqlserver://myserver/mydatabase", :username=>'') 

(答えが私をこの方向に向かわせたlimcに大いに感謝します)

于 2010-05-18T04:11:33.040 に答える