2016-11-11 11 views
2

ローカルのMySQLサーバーで正常に動作するASP.NET MVCアプリケーションがMySQLデータベースに接続されています。 私は彼らの新しい機能を使用してAzureのためにアプリをプッシュしようとしています:MySQL in-app for Web AppsAzureのASP.NET MVCアプリケーションとMySQLのアプリケーション

以前、私は、SQL Serverデータベースと紺碧で同じアプリをテストし、次のように私はそれが働いてしまった:

  1. 私は私の紺碧のポータルでSQLデータベースを作成し、ここで説明したように、私はそのADO.NET 接続文字列を得た: https://azure.microsoft.com/en-us/documentation/articles/sql-database-develop-dotnet-simple/
  2. 私は公開 コマンドでは、Visual Studioからアプリケーションを公開しました。ウィザードでは、実行時に使用するDefaultConnection 文字列を設定することができました。

MySQL-in-appデータベースでも同様に処理できますか? もしそうなら、パブリッシュステップで設定する接続文字列を取得するにはどうすればよいですか?スクリプトhereで説明を見つけましたが、接続文字列を取得するためにどこで実行する必要があるのか​​分かりません。

+0

あなたは一見このことを理解したので、助けてくれることを願っています。私は接続文字列を取得し、 'Environment.GetEnvironmentVariable(" MYSQLCONNSTR_localdb ")'を 'options.UseSqlServer()'に渡しました。しかし、私はまだ 'アクセス拒否'を取得します。それ以上のことは何が必要ですか?どのようにアプリケーションにMySQLにデータベース(マイグレーション)を追加するのですか? –

+0

気にしないで、私はMySQLを使用していないことに気付いただけです。これを使用するには、MySQLプロバイダを設定する必要があります。 –

答えて

3

Get the database connection string」セクションでは、(あなたがアプリでのMySQLで使用されているローカルのMySQLデータベースの接続文字列を取得したい場合は、PHPでMYSQLCONNSTR_localdb環境変数を経由してデータベース接続文字列を取得する方法のコードと説明しましたプレビュー)を参照するには、次のコードスニペットを参照してください。

protected void Page_Load(object sender, EventArgs e) 
{ 
    Response.Write(Environment.GetEnvironmentVariable("MYSQLCONNSTR_localdb").ToString()); 
} 

出力

Database=localdb;Data Source=127.0.0.1:49497;User Id=azure;Password=6#vWHD_$

はまた、私の知る限りでは、アプリでのMySQL(プレビュー)アプリケーションサービスプランから我々のアプリと共有リソースとローカルのMySQLインスタンスを実行し、我々はMySQLを使用開発とテストのためのApp(Preview)。非ローカルMySQLインスタンスを使用するためにアプリケーションを本番環境に移行する場合は、create a MySQL database in the Azure portal(プロバイダはClearDBです)をAzure App Serviceから接続します。

+0

環境変数で接続文字列を取得し、 'options.UseSqlServer()'に渡します。しかし、私はまだ 'アクセス拒否'を取得します。私はポータルからPhpMyAdminにアクセスでき、テーブルは存在しません。データベースをインポートする次のステップは何ですか? –

関連する問題