6

D5 で TAdoConnection を使用して、パスワード付きの sa アカウントを使用して Windows 7 64 ビット マシン上のローカル Sql Server に接続すると、TAdoConnection 接続文字列を作成したにもかかわらず、「ユーザー sa のログインに失敗しました」というエラーが表示されます。パスワードを含めます。BeforeConnect イベントがトリガーされるまでに、ConnectionString にはパスワードが含まれなくなります。WillConnect イベントでパスワードを設定すると、接続が正常に機能します。

私の質問は、ConnectionString からパスワードを削除しているのは何ですか? おそらく、W7 に追加された何らかのセキュリティ機能ですか? XP でこの問題が発生したことは覚えていません。

ところで: ConnectionString で Persist Security Info を true に設定しても、この問題は引き続き発生します。パスワードは DFM に保存されません。

4

1 に答える 1

7

ConnectionString には「Persist Security Info=True」を含める必要があります。この前のトピックを参照してください。SQL 認証用と Active Directory 認証用の 2 つの const を使用し、空白を埋めるだけです。

const
  csCONNECTION   = 'Provider=%s;Password=%s;Persist Security Info=True;User ID=%s;Initial Catalog=%s;Data Source=%s';
  csADCONNECTION = 'Provider=%s;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=%s;Data Source=%s';
于 2013-08-08T12:06:10.947 に答える