4

さて、mssql dbに接続するスクリプトがあり、すでに実行したサービスとして実行する必要がありますが、サービスとして実行すると、dbに接続するときに入力した資格情報が上書きされます。広告コンピュータアカウント。

サービスとしてではなく、単独で実行すると完璧に動作します。

私の接続文字列は次のとおりです。

'DRIVER={SQL Server};SERVER=MyServer;DATABASE=MyDB;UID=DOMAIN\myusername;PWD=A;Trusted_Connection=True'

エラーは次のとおりです。

Error: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'DOMAIN\COMPUTERNAME')

何かアドバイス?

4

2 に答える 2

2

私が取り組んだ最後のプロジェクトでDRIVER={SQL Server};SERVER=SERVERNAME;DATABASE=DBNameは、信頼できるモードでデータベース接続を開始するのに十分であることがわかりました。

それでも機能しない場合は、おそらくどちらかです

1)DEEPTHOUGHT mssqlサーバーのアカウントが正しく設定されていません。

2)サービスのrunAsが正しく設定されていない(エラーメッセージに「DEEPTHOUGHT」ではなく「ComputerName」と表示されているのはなぜですか?)

于 2012-04-03T20:36:46.660 に答える
0

次の接続文字列は、サービスを実行しているアカウントを使用してデータベースで認証するWindows認証を使用します。サービスアカウントをデータベースにアクセスできるアカウントに変更します。

'DRIVER={SQL Server};SERVER=SERVERNAME;DATABASE=DBName;Trusted_Connection=yes'

サービスアカウントを変更するには:

  • 開始->実行->services.msc
  • [サービス]->[プロパティ]を右クリックします
  • [ログオン]タブ
  • OK/適用して変更を保存します

サービスアカウントを変更するウィンドウのスクリーンショット

于 2012-04-03T20:15:09.997 に答える