1

私はC# Webサービスに取り組んでいます。

ローカル システムで完全に動作する Web サービスをデプロイしましたが、仮想専用サーバーで同じサービスを実行しようとすると、エラーが返されます。

これは私の接続文字列です

Data Source = <serverinstance>\\SQLEXPRESS; Initial Catalog = DomainTable; User ID= <serverinstance>\\admin; Password = <Windows_Login_Password>

この前は、この接続文字列を使用していました

Data Source=<serverinstance>\\SQLEXPRESS; Initial Catalog=DomainTable; Integrated Security=SSPI";

それらのどれも私のために働いていません。それは本当に本当に重要です助けてください

4

2 に答える 2

2

データ ソース = サーバー インスタンス\SQLEXPRESS;
-----------------------------------------^ ここにはスラッシュが 1 つだけあります

また、リモート サーバーが として参照したものを認識できることを確認してください<serverinstance>。あなたはこれを持っているかもしれlocalhostませんが、あなたのウェブサーバーはあなたのマシンをローカルホストとは見なしていません. 特に別のドメインにある場合は、名前でアクセスできない場合もあります。

Windows 認証を使用しようとしている場合、地球上で使用する方法はありません。

ユーザー ID = serverinstance\admin; パスワード = Windows_Login_Password

うわー、どこにも Windows パスワードをハードコーディングしないでください。SQL 認証を使用する場合は、 をセットアップします。それ以外の場合は、ユーザー ID / パスワードの代わりにこれを使用する必要があります。

セキュリティ情報を永続化 = true;

また、IIS ユーザーが SQL Server へのアクセスを許可されていることを確認します。

于 2012-07-05T19:13:54.997 に答える
0

試してみてください。

"data source=.\\SQLEXPRESS;Integrated Security=SSPI;initial catalog=DomainTable"

ユーザー名/パスワードは通常、リモート接続にのみ必要であり、指定されたDB用に設定する必要があると思います。ログイン資格情報を必要としない場合は、上記の接続文字列を使用して、ローカルマシンで実行中のsqlexpressのインスタンスを実行できます。

編集

IISを使用してホストしている場合は、SQL Express 2008で動作するようにアプリプールを展開および設定するために行った最近の記事のチャンクを次に示します。IISを使用していない場合でも、次のような操作を行う必要があります。 SQLServerを使用してホスティング環境を正しくセットアップします。

ステップ1IISUSERのDBログオンを作成します

MS SQL SERVERのセキュリティセクションで、ユーザーとIIS APPPOOL(IIS APPPOOL \ apppoolname、セクション1、ステップ2で作成)を右クリックする必要があります。詳細については、ここでdp。の回答を確認してください-IIS7を追加しますSQLServerログオンとしてのAppPoolID

ステップ2データベースでIISユーザーのアクセス許可を設定する

データベース名を右クリックし、[プロパティ]をクリックします。権限セクションで、作成したばかりのAPPPOOLユーザーを追加します。必ず、必要な実行\選択権限をユーザーに付与してください。

注:Website1には、実行、選択、削除、挿入のアクセス許可も必要です。Website2もこのアプリプールを使用していますが、これは、trimdynamicsアプリケーション内からそのような機能をユーザーに提供することをユーザーに許可する必要がないためです。アプリプールを分離して、トリムダイナミクスIISUSRSが実行と選択のアクセス許可のみを取得するようにすることができます。

これが役に立たない場合、開発環境から本番環境に展開するときに多くの落とし穴があるため、ホスティング構造の具体的な知識がなければ実際に何が起こっているのかを知ることは困難です:(

于 2012-07-05T19:19:22.793 に答える