1

Palladium という SQL Azure データベースがあります。

Windows Azure ポータルにログインしたところ、Palladium が 2 回表示され、重複は [Palladium] と角かっこで囲まれています。

これが何か分かりますか?

私は Code First を使用しており、さまざまな接続文字列 (今日は深刻な問題です...) をいじっていますが、それらはすべて何らかの理由で実際に [Palladium] を指定しています。新しいものに入り、クリックして接続文字列を生成すると、実際には [[Palladium]]] と表示されます。そうです、最後の 3 つの角括弧です。

Code First で Entity Frameworkを使用していますが、実際にデータベースをドロップして変更する部分が私の知る限り無効になっています。

解決策:そのデータベースが何であったかはまだわかりません。空のように見え、ポータルが混乱しているように見えました (削除したり、特定のものを選択したりできません)。ただし、SSMS を介して問題なく削除でき、今ではすべて問題ないようです。

4

2 に答える 2

1

ブライアン、あなたは特定の問題を解決したように見えますが、ここにメッセージを追加したいと思います。なぜなら、これはデータベース名に [] 角​​かっこの問題がある人々の最初の Google 検索結果の 1 つだからです。

以前、Azure でデータベース名に角かっこ [] が含まれているように見えるこの問題に遭遇しました。私の場合、最初はコードではありませんでした。Azure portal を使用して新しいデータベースを作成し、Palladium という名前を付けたとします。接続文字列を取得するために、SQL データベースのダッシュボード ページに移動し、右側に表示される [接続文字列を表示] リンクをクリックします。この接続文字列は、connectionstring="" の内容を置き換える web.config ファイルに配置する必要があります。それを行う前に、何らかの理由で接続文字列に文字列 "Database=[Palladium]" が含まれていることに注意してください。あなたはすでにこれに気づいていると思います。これは問題です。なぜ Azure がデータベース名の前後に [] を付けることに固執するのかはわかりませんが、ただし、接続文字列として使用する前に、Palladium という単語を囲む角かっこを削除する必要があります。(文字列「{your_password_here}」を実際のパスワードに置き換えることも忘れないでください)。

これで問題は解決し、数か月間、問題なく定期的にこれを行っています。Azure が [] を最初に置く理由はまだわかりません。

このソリューションは、Azure でデータベースを作成して接続文字列を取得する必要があるため、codefirst を使用している人にも適用できると考えています。これは、コードがデータベース自体ではなくテーブルを最初に作成するためです。

于 2013-03-24T16:48:47.213 に答える
1

データベースが作成される理由を説明できます。これは、ASP.Net ユニバーサル プロバイダーによって作成されます。

[Palladium] データベースのテーブルを確認した場合、ASP.Net ユニバーサル プロバイダーによって使用されるメンバーシップ テーブルだけに気付くでしょう。(アプリケーション、メンバーシップ、プロファイル、ロール、ユーザー、UsersInRoles)

これらのプロバイダーの機能の 1 つは、データベース内にメンバーシップ テーブルを自動的に作成できることです。これがあなたに起こったことです.Garyの回答で示されているように、web.configには角括弧がありました。そのため、メンバーシップ テーブルの自動作成では、その接続文字列が文字どおりに取り込まれ、角かっこを使用して DB が作成されました。

web.config に角かっこを残して、DB を削除しただけかどうか知りたいです。これらの条件下で動作し始めた場合、これは Azure のバグに違いないことを示しています。

于 2013-03-25T20:41:56.377 に答える