2016-05-28 32 views
0

接続文字列に問題があります。サーバーからWebサービスを使用している場合、次のエラーが表示されます。接続文字列

Format of the initialization string does not conform to specification starting at index 114

ローカルホストでは問題ありません。私の接続文字列は:

name="DB_nodeEntities1"   
connectionString="metadata=res://*/Models.Node.csdl|res://*/Models.Node.ssdl|res://*/Models.Node.msl; 
provider=System.Data.SqlClient; 
provider connection string=" 
data source=xx.xxx.xxx.xx,1433; 
initial catalog=my db name; 
integrated security=True; 
MultipleActiveResultSets=True; 
App=EntityFramework" 
User Id=my id; 
Password=my pass" 
providerName="System.Data.EntityClient" 
+0

統合セキュリティを削除して、 –

+0

を試してください。申し訳ありませんが、動作しません。しかし、あなたの質問に感謝 – pourya

+0

なぜ2つのプロバイダSqlClientとEntityClientを使用していますか?たぶんあなたはそれらの1つを使用しようとする必要がありますか? – gofr1

答えて

0

私はそれがサーバーのセキュリティポリシーに関連していると思います。 たとえば、一部のSQL Serverではリモートアクセスが許可されていないため、ローカルに接続する必要があります。多分あなたに何が起こったかは、このようなものです。そのような場合は、ホスティングサービスとデータベースエンジンが同じサーバー上になければなりません。

例外が発生したときに、あなたのコンピュータでウェブサイトをデバッグモードで実行したときに通知されますか?はいの場合は、サーバーでテストすることをお勧めします。

あなたのサーバーの種類は何ですか(Linux & Windows)、どの言語を実装に使用しますか? しかし、ホスティングとデータベースエンジンの両方にWindowsサーバーを使用し、.NETフレームワークで実装している場合、私はあなたのエラーに基づいていくつかの提案をしています。まず をチェックしてください。link 接続できない場合は、SQL Server管理スタジオで直接接続を確認してください。そのため、アクセス許可がなく、最初の理論が確認されていることがはっきり分かります。

+0

ありがとうpeyman、しかし私はそれらをテストした – pourya

+0

あなたはSQLサーバー管理スタジオであなたのデータベースに接続することはできますか? – Payam

+0

はい、SQL Server管理スタジオに接続するには問題ありません – pourya

-1

あなたはUDLファイル経由で接続文字列を作成するのに疲れて、単純にコピーしてコードに貼り付けましたか?

  1. ファイルエクスプローラを開いて空想的な場所で、新しいテキストファイルを作成しますが、拡張子を.txtではなく.udlに変更します。
  2. 新しい.udlファイルをダブルクリックして開くと、以下が表示されます。
  3. プロバイダータブでは、接続するデータソースの種類を選択し、SQL Server用Microsoft OLE DBプロバイダーを選択します。
  4. 接続タブで、サーバー名のドロップダウンをクリックすると、接続可能なSQLサーバーのリストが表示されます。これまで私はこれがうまくいかないと思っていたので、サーバ名を手動で入力することができます。次に、Windows認証(現在ログインしているユーザーの詳細を使用してSQL Serverにログインする)か、ユーザー名とパスワードを入力して、ログインの種類を指定できます。
  5. 特定のユーザー名とパスワードのオプションに2つのチェックボックスがあることがわかります。使用するログインにパスワードが必要ない場合は、空白のパスワードボックスを空白のままにしておくと、パスワードのテキストボックスを空白のままにしても機能しません。パスワードの保存を許可すると、接続文字列に生のテキスト値としてパスワード値が保存されます(つまり、読みやすくなります)。アプリケーション設定ファイルで接続文字列を暗号化することができます。これについては後で説明しますが、私は常にこのボックスにチェックを入れますが、私はそれをあなたに任せます。
  6. サーバに接続するデータベースを選択する準備ができました。サーバのドロップダウンリストのデータベースのドロップダウン矢印をクリックすると、あなたが提供できるすべてのデータベースが、今まで提供したログインの詳細とともに表示されます。
  7. これですべての作業が完了したら、[テスト接続]をクリックすると正常に動作します。何らかの障害が発生した場合は、メッセージボックスに何らかのヘルプが表示されますが、ログインの詳細が間違っている可能性が高いか、データベースにアクセスできない可能性があります。
  8. このダイアログを閉じるには、[OK]をクリックしてください。このダイアログを閉じる他の方法は、作業を失います。ファイルエクスプローラで、.udlファイルを右クリックし、「開く」を選択し、「NotePad(または他のテキストエディタ)」を選択します。
  9. メモ帳で、接続文字列があります。 Provider = SQLOLEDB.1;の後に始まる部分をコピーするだけです。

私はブログ投稿hereを手に入れた方法を説明しています。

+0

このリンクは質問に答えるかもしれませんが、ここでは回答の重要な部分を含めて参照用のリンクを提供することをお勧めします。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューより](/レビュー/低品質の投稿/ 13459721) –

+0

私の投稿を編集します。申し訳ありませんが、私はあなたに完全に同意します。削除する投票を求めることができますか? – jbmintjb