2017-12-08 4 views
1

接続文字列として別のサーバーのMySQLデータベースを使用して、.NETアプリケーションをAzureに展開することは可能ですか?別のサーバーデータベースを使用して.NETアプリケーションをAzureに展開する

.NET MVCでアプリケーションを作成しました。私のプライベートサーバのMySQLデータベースに接続します。アプリケーションは正常に動作します。しかし、Azureサーバーにデプロイすると、動作しません。

[MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.] 
    MySql.Data.MySqlClient.NativeDriver.Open() +1228 
    MySql.Data.MySqlClient.Driver.Open() +22 
    MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) +218 
    MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() +287 
    MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() +93 
    MySql.Data.MySqlClient.MySqlPool.GetConnection() +65 
    MySql.Data.MySqlClient.MySqlConnection.Open() +566 
    System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +41 

マイたconnectionString:

私はAzureのサーバでそれを実行すると enter image description here

が、私はエラーを取得する:私は公開しようとすると

、私は、データソースとしてMySQLを持っていません

<connectionStrings> 
    <add name="myEntities" connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=myServer;user id=userName;password=Password;database=myDB&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

誰でも修正方法を知っていますか?

ありがとうございました

+0

あなたのMySQLサーバがどこにホストされているか教えていただけますか? Azure、別のホスティングプロバイダ、またはあなたのマシンでですか? –

+0

別のホスティングプロバイダ – user6824563

答えて

0

MVC Webアプリケーションから確かにMySQLサーバーに接続できます。あなたのMySQLサーバーはAzure、AWS、またはデータベースにリモートで接続できる他のホスティングプロバイダでホストすることができます。ただし、Azureデータ入力以外のデータベース呼び出しを行うと、ネットワークの待ち時間のために遅延が発生します。

+0

私は、ありがとう!しかし、なぜ私は接続できませんか?私のローカルマシンを使用するとうまくいきますが、Azureに公開するとうまく動作します。私はエラーが発生しました。 MySQLが存在するホスティングプロバイダであるBTWは、ネットワークの内部と外部の両方からアクセスできるように設定されています – user6824563

+0

MySQLホスティングプロバイダに誰が接続できるかについてのファイアウォールルールがあると思います。 AzureデータセンターアウトバウンドIPはホワイトリストに追加されていません。この場合、プロバイダに確認してください。 –

+0

私はちょうどそれをやった。実際に私はMySQLのホスティングプロバイダを変更して、すべてのリモートIPを受け入れ、同じ問題を解決しました。 – user6824563