Domanda

ho creato un semplice test che apre una connessione di sqlce situato sul mio desktop P.C. Quando inizio eseguire la modalità di debug che mi getta che cant aprire la connessione. Io uso Pocket P.C 2003 EMULATOR

Questo è il mio codice di prova sul mio su Smart Device Application.

stringa di connessione

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

Test di connessione

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; 
}

C'è cose devono configurare? Grazie in saluti!

È stato utile?

Soluzione

Questo è un comportamento corretto. Per la maggior parte degli aspetti, l'emulatore è proprio come un dispositivo fisico che è nesxt al PC. Essa non conosce le unità di PC (è possibile condividere una cartella del PC andando nella configurazione Emulator) e quindi non può vederli. Inoltre non sa nulla di lettere di unità.

Se si desidera che l'emulatore per utilizzare un file sul vostro PC, ancora una volta è possibile condividere la cartella il file è in, allora sarebbe situato a \storage card\myfile.sdf. Si noti che la cartella condivisa viene montato come "scheda di memoria" sull'emulatore.

sarei ancora consiglia di non fare questo, però, dal momento che non è affatto allungabile o scalabile. La vera soluzione non sta per essere in esecuzione su un emulatore sul PC è? Cosa succede quando si prova su hardware reale che non possono condividere una cartella come l'emulatore? Direi che si dovrebbe distribuire il file di database per il proprio dispositivo, se questo è l'emulatore o ferro reale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top