2009-02-24 16 views
5

のログインに失敗しました。この接続文字列を使用してリモートSQLサーバーに接続しようとするとこのエラーが発生します。リモートマシンからmssqlサーバーに接続すると、ユーザー '

エラー:

ODBC error: 28000118452[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user ''. The user is not associated with a trusted SQL Server connection.

接続文字列:

"DRIVER={SQL Server};SERVER=testserver,1433;Trusted_Connection={Yes};"

注私は、ローカルコンピュータを指定した場合、この同じ接続文字列が正常に動作します。

私の質問:なぜリモートSQLサーバは私のユーザ名が空白だと思いますか?

まず、リモートマシンへのWNetAddConnection Win32 APIを使用して有効なログインを行いました。

編集:管理スタジオから接続するときに同じエラーが発生します。しかし、リモートマシンとの接続を最初に確立して以来、私のプログラムは仕事の機会が増えるだろうと思っていました。

Edit2:メモWindows認証を使用するソリューションが本当に必要です。私はすでにSQL認証で作業しています。

+0

Windows統合認証またはSQLユーザーを使用していますか?私は接続文字列でそれを見ていません.. –

+0

Windows認証、あなたはそれのためのTrusted_connectionを使用することができます。 –

+0

Integrated Security = SSPIを使用した場合と同じです –

答えて

1

思考:

1)は両方とも同じドメイン内のマシンですか?私はWNet *との接続に関するあなたの言及のためにおそらくそう思っています。...

もしそうでなければ、Integrated Securityは問題を起こすでしょう。

編集:両方のマシンが同じドメインにないことがわかります。統合セキュリティを使用するには、SQL Serverがであることをドメインがローカルマシンが入っているドメインを信頼している必要があり

別の編集:リンクからCorroboration for the above statement.

: このエラーメッセージが表示されることができ、ユーザあればログインは、SQL Serverのドメインとは異なる信頼できないドメインのドメインアカウントです。次のステップは、クライアントマシンをSQL Serverと同じドメインに移動し、ドメインアカウントを使用するように設定するか、ドメイン間の相互信頼を確立することです。相互信頼を確立することは複雑な手続きであり、多大な注意とセキュリティの考慮が必要です。

2。)SPNがサーバー上で正しく設定されていることを確認します。

より指導を探しHEREが、基本的には行います

SETSPN -LのSPNの

1のように見える必要があるサーバー名:

MSSQLSvc /サーバー名:1433

3 )もう1つ編集:いずれのマシンもドメインに属していない場合、両方のマシンで一致するローカルユーザーID /パスワードが必要です。

たとえば、両方のマシンでbrianという名前のユーザーと両方のユーザーのパスワードが「letmein」です。

+0

1)ドメインにはなく、diff/uを持っています。ドメイン内にない2台のマシンで作業している場合でも、wnet apiは正常に動作します。 –

+0

しかし、SQL ServerはWNet * apisを使用しません。 – Moose

+0

こんにちはムース;コンピュータ間でこの信頼関係を構築することについてどこから始めるべきか、ヒントを教えてください。 –

-1

UserIdセクションが記入されていない(Windows認証には正しい)ため、エラーが考えられます。

のような接続文字列試してみてください。

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

同じことになっている別の方法:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

関連する問題