2013-08-08 5 views
6

D5でTAdoConnectionを使用して、パスワード付きsaアカウントを使用してWindows 7 64ビットマシン上のローカルSqlサーバーに接続すると、私は「ユーザーsaのログインに失敗しました」というエラーが表示されます。パスワードを含めるためにTAdoConnection ConnectionStringを構築しました。 BeforeConnectイベントがトリガされる頃には、ConnectionStringにはパスワードが含まれなくなりました。私はWillConnectイベントでパスワードを設定することができ、接続は正常に動作します。TAdoConnectionパスワードがAWOLになる

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

Btw:ConnectionStringでPersist Security Infoをtrueに設定してもこの問題は発生しますが、パスワードはDFMに格納されていません。

+0

設計時にその接続を開かないでください(または接続文字列に 'Persist Security Info = True'を指定して)、DFMに保存する必要があります。 – TLama

+0

私はそれが救われるべきだと知っているが、私が "Btw"で言ったように、それはしない。 – MartynA

+0

Windows OLE DBのデータリンクのプロパティダイアログを呼び出すConnectionStringの "ビルド..."ボタンを使用しないでください。また、閉じるときにパスワードを削除します。 SQL Serverでこの問題が発生しただけで、実際のプロバイダとの接続文字列を検証する必要があります。 (SQLNCLI、SQLNCLI10、SQLOLEDB)接続文字列を手作業で作成し、ConnectionStringプロパティに貼り付けて保存します。 – TDC

答えて

7

あなたのConnectionStringには、 "Persist Security Info = True"が含まれている必要があります。このprior topicを参照してください。私は、SQL認証用とActive Directory認証用の2つのconstを使用し、空白を記入するだけです。

関連する問題