אררר
רעיונות נוספים: אם העידכון שלך הוא חד כיווני בלבד והוא מחליף את הקובץ הקיים אז אם אתה משתמש ב SQL2005 אז יש לך אפשרות ליצור על גבי PC קובץ SDF שזה טכנית מסד הנתונים שלך ואתה יכול פשוט להחליף אותו כל פעם שאתה צריך ולהגדיר את החיבור מחדש אם העידכון שלך הוא דיפרנציאלי ( מוסיף על מסד הנתונים שלך ) אז יש בעיה כי אני לא חושב שאפשר לקרוא טבלאות ממסדי נתונים שונים יחדיו אבל בטוח תוכל לטעון DATASET ממסד נתונים אחד ולהכניס אותו לשני עם השאילתות המתבקשות טכניקה נוספת שאני יכול לחשוב עליה היא שתבצע סריאליזציה בינארית של ה DATASET מתוך אמולטור על PC ותבצע דה-סריאליזציה שלו על המכשיר כל הפתרונות האלה יעבדו אבל הם עקומים בטירוף, הדרך היחידה שבה אתה אמור לטעון את מסד הנתונים הוא באמצעות RDA/רפליקציה מתוך שרת SQL דוגמא מתוך MSDN:
string rdaOleDbConnectString = @"Provider=SQLOLEDB; "Data Source=MySqlServer; Initial Catalog=AdventureWorks; User Id=username; Password = <password>"; // Initialize RDA Object // SqlCeRemoteDataAccess rda = null; try { // Try the Pull Operation // rda = new SqlCeRemoteDataAccess( "http://www.adventure-works.com/sqlmobile/sqlcesa30.dll", "MyLogin", "<password>", "Data Source=MyDatabase.sdf"); rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString, RdaTrackOption.TrackingOnWithIndexes, "ErrorTable"); // or, try one of these overloads: // // rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString, // RdaTrackOption.TrackingOnWithIndexes); // // rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString); } catch (SqlCeException) { // Handle errors here // } finally { // Dispose of the RDA object // rda.Dispose(); }