none
RDA PUSH和PULL之錯誤訊息 RRS feed

  • 問題

  •  

    小弟第一次使用RDA,遇到了一個問題,請求各位有經驗的高手幫忙!

    PDA環境:WINCE 5.0(作業系統)、.NET CF 2.0、SQL SERVER 2005 Compact Edition

      abc資料表內容-ID(nchar 30)

                                   S(float)

                                   Date(datetime)

    桌上PC環境:Vista(作業系統)、Visual Studio .NET 2008、SQL 2005 Express、IIS 6.0(匿名驗證)

     

    以下是RDA.Push的程式碼

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    String rdaOleDbConnectString = @"Provider = SQLOLEDB; Data Source = User/SQLEXPRESS; Initial Catalog=POS; User Id=rdauser; Password = 111111";
                SqlCeRemoteDataAccess rda = null;
                try
                {
                    rda = new SqlCeRemoteDataAccess("http://192.168.10.111/syncSQL", @"Data Source = \MyDatabase.sdf");
                    rda.Push("abc", rdaOleDbConnectString, RdaBatchOption.BatchingOn);
                }
                catch (SqlCeException se)
                {
                    MessageBox.Show(se.ToString());
                }
                finally
                {
                    rda.Dispose();

                }

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    出現Exception訊息:[ abc ]

     

    使用Pull也是出現一樣訊息,沒有任何其他相關的exception訊息或錯誤碼。因為是初學者,花了幾天測試,也到網路找尋相關資訊,始終無法解決,請求有經驗的高手相助,感謝感謝!

     

     

     

     

    2008年6月11日 上午 07:56

解答

  • Hi,

    資料庫設定(發行、訂閱等)、IIS設定都有做了嗎?

    參考一下這邊

     

    如何:建立 SQL Server Compact Edition 訂閱 (SQL Server Management Studio)

    http://msdn.microsoft.com/zh-tw/library/ms172412.aspx

     

    我覺得去找本書來看資料會比較完整

    這本滿舊的,不過中文書不多,可以到書店翻翻看...

    http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchAction.do

    2008年6月12日 上午 09:09
    版主
  • 基本上,要作RDA Push的資料表要具備下面的條件,

    1.你的abc資料表必須使用pull指令由伺服端拉下來至pda資料庫的sdf檔。

    2.下pull指令時,有一個TrackingOn的參數必須設定,sql指令不可以使用join,且下拉的欄位中必須有主key,你可以參考書上的指令說明。

    3.abc資料表必須為資料庫中的實體Table(也就是說不能用View)

    上述條件滿足了,push才有可能會成功。

     

    簡單的rda程式流程如下。

    1.建立pda的資料庫檔(.sdf)。

    2.執行rda.Pull();

    3.修改資料例如:Insert,update,delete

    4.執行rda.Push

     

     

     

     

     

     

    2008年6月17日 下午 02:26

所有回覆