4

このリンクに基づく:http://msdn.microsoft.com/en-us/library/windowsazure/ee336243.aspx

このコードを使用してSQLAzureデータベースに接続し、行を挿入しようとしています。

// The values being assigned to the StringBuilder members are set previously/not shown
    SqlConnectionStringBuilder connStringBuilder = new SqlConnectionStringBuilder();
    connStringBuilder.DataSource = dataSource;
    connStringBuilder.InitialCatalog = databaseName;
    connStringBuilder.Encrypt = true;
    connStringBuilder.TrustServerCertificate = false;
    connStringBuilder.UserID = userName;
    connStringBuilder.Password = password;

    using (SqlConnection conn = new SqlConnection(connStringBuilder.ToString()))
    {
        using (SqlCommand command = conn.CreateCommand())
        {
            conn.Open();
            command.CommandText =
                "INSERT INTO T1 (col1, col2) values (1, 'string 1'), (2, 'string 2'), (3, 'string 3')";
            int rowsAdded = command.ExecuteNonQuery();
        }
        conn.Close();
    }

しようとすると、つまり-SqlConnectionStringBuilder, SqlConnectionであり、SqlCommand認識/解決できません。これを機能させるには、別のADO.NETパッケージをインストールする必要がありますか?

アップデート

System.Data.dllプロジェクト参照(私のマシン上で、から )に追加することでC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5、これらのクラスを認識/解決することができますが、それでもコンパイル時エラーが発生します。

エラー1アセンブリ'System、Version = 4.0.0.0、Culture = neutral、PublicKeyToken =b77a5c561934e089'の基本クラスまたはインターフェイス'System.ComponentModel.Component'は、タイプ'System.Data.Common.DbConnection'で解決できませんでしたc :\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ System.Data.dll

と:

エラー2アセンブリ'System、Version = 4.0.0.0、Culture = neutral、PublicKeyToken =b77a5c561934e089'の基本クラスまたはインターフェイス'System.ComponentModel.Component'は、タイプ'System.Data.Common.DbCommand'によって解決できませんでしたc :\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ System.Data.dll

更新2

参照としてSQL.Dataを追加すると、さまざまなタイプを解決できましたが、別の問題により、アプリをコンパイルできませんでした。

モジュールmscorlib.dllにタイプSystem.SystemExceptionが見つかりません

参照からSQL.Dataを削除すると、その問題が解消されました。

4

2 に答える 2

3

サービス インターフェイスを使用 (または構築) する必要があります。Windows 8 ストア アプリから Windows Azure SQL データベース (旧称 SQL Azure) に直接アクセスすることはできません。主な理由は次の 2 つです。

  1. SQL Database は、SQL Server 認証のみをサポートします。これは、各クライアント デバイスが、データベースへのログインに関して、王国への鍵を持っていることを意味します。そのログインが侵害された場合、重大な問題が発生します。

  2. SQL データベースへのアクセスはサーバー上のファイアウォールを介して管理され、ホワイトリストに登録された IP アドレスからのトラフィックのみがサーバーに入ることが許可されます。これは、クライアントが入ってくる IP 範囲がわからないため、0.0.0.0 から 255.255.255.255 までの任意の IP アドレスに対してファイアウォールを完全に開放する必要があることを意味します。

Windows Azure モバイル サービスを確認してください。Windows Azure SQL データベースに安全な RESTful CRUD フロントエンドを提供します。 モバイル サービスを使用してグローバル リーダーボードを管理するブログ投稿がありますが、これは例として役立つかもしれません。

于 2012-12-02T02:46:21.540 に答える
1

System.Data は Metro アプリでは使用できません。それでも SQL を使用する場合は、Sqlite を使用するか、Azure SQL DB をデータ サーバーとして作成します。それ以外の場合は、代わりに LocalStorage を使用できます

于 2012-11-30T04:10:16.620 に答える