1

デスクトップ PC にある sqlce の接続を開く簡単なテストを作成しました。Run the debug mode を起動すると、接続を開くことができないというメッセージが表示されます。Pocket PC 2003 エミュレーターを使用しています。

これは、スマート デバイス アプリケーションのテスト コードです。

接続文字列

private SqlCeConnection conn = new SqlCeConnection("Data Source=C:\\SDB.sdf");

テスト接続

public bool test() 
{
    try
    {
        conn.Open();
        {}
        Status.TEXT = "CONNECTED";
    }
    catch (Exception ee) 
    {
        throw ee;
        Status.TEXT = "NOT CONNECTED"; 
    }
    finally
    {
        if (conn.State == ConnectionState.Open) conn.Close(); 
    }
    return true; 
}

設定が必要ですか?よろしくお願いします!

4

1 に答える 1

0

それは正しい振る舞いです。ほとんどの点で、エミュレーターは PC に隣接する物理デバイスのようなものです。PC のドライブを認識しないため (エミュレーターの構成に移動して PC フォルダーを共有できます)、それらを認識できません。また、ドライブ文字についても何も知りません。

エミュレーターで PC 上のファイルを使用する場合も、ファイルがあるフォルダーを共有できます\storage card\myfile.sdf。共有フォルダは、エミュレータ上で「ストレージ カード」としてマウントされることに注意してください。

ただし、拡張性やスケーラビリティがまったくないため、これを行わないことをお勧めします。本当の解決策は、PC のエミュレーターで実行することではありませんか? エミュレーターのようにフォルダーを共有できない実際のハードウェアでテストするとどうなりますか? エミュレーターであろうと本物の鉄であろうと、データベースファイルをデバイスに展開する必要があると思います。

于 2010-10-08T14:02:12.017 に答える