none
SQL Server 2005 Mobile 問題 RRS feed

  • 問題

  • 已在開發環境安裝 Microsoft SQL Server 2005 Mobile Edition Device SDK

    另外手動在pda上安裝 sqlce30.ppc.wce5.armv4i.CAB

    程式跑到 conSql2000.Open() 就會出錯 

    完整程式碼 :http://jiang188.myweb.hinet.net/SQLCEDataReader.rar

     

    麻煩各位先進指導,謝謝。

     

            Dim conSql2000 As SqlCeConnection
            Dim dr As SqlServerCe.SqlCeDataReader
            Dim comm As SqlCeCommand
            Try

                conSql2000 = New SqlCeConnection("Data Source=" & "\Northwind.sdf")
                comm = New SqlCeCommand("select OrderID,CustomerID,OrderDate from Orders", conSql2000)
                '開啟連線
                conSql2000.Open()                  <--------程式在此發生錯誤
                '利用DataReader取回資料
                dr = comm.ExecuteReader()

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

    另外在在.NET 組件清單上找不到 System.Data.SqlServerCe,所以無法直接參考

    在msdn上說明可直接加入元件參考

    C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\System.Data.SqlServerCe.dll

    但在該位置找不到指定檔案

    我在以下位置發現該檔案

    C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Device\Mobile\v3.0\System.Data.SqlServerCe.dll

    參考 msdn http://msdn2.microsoft.com/zh-tw/library/ms171908.aspx

     

     

     

     

     

     

     

    2006年6月23日 上午 08:58

解答

  • 您好:

    因為我不知道錯誤訊息是啥....所以只能從您提供的Code來猜想

    conSql2000 = New SqlCeConnection("Data Source=" & "\Northwind.sdf")
                comm = New SqlCeCommand("select OrderID,CustomerID,OrderDate from Orders", conSql2000)

    這個部分看起來是DataSource路徑的問題,您是否已經確定這個檔案發布到裝置的確定位置?

    或是用以下的方法找檔案:

    connstring = "Data Source =" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Northwind.sdf;"

     

     

     

    2006年6月23日 上午 10:00
  • 嗯~ 根據我的經驗,在跟目錄下面的SDF檔案,不需要在最前面加上\,這樣反而會連不到。

    因為我也曾經遇過這種奇怪的問題,後來發現拿掉\就沒問題了...

    這個應該算是莫名奇怪的Tricks

    希望對你有幫助!

    2006年6月24日 上午 06:15

所有回覆

  • 您好:

    因為我不知道錯誤訊息是啥....所以只能從您提供的Code來猜想

    conSql2000 = New SqlCeConnection("Data Source=" & "\Northwind.sdf")
                comm = New SqlCeCommand("select OrderID,CustomerID,OrderDate from Orders", conSql2000)

    這個部分看起來是DataSource路徑的問題,您是否已經確定這個檔案發布到裝置的確定位置?

    或是用以下的方法找檔案:

    connstring = "Data Source =" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Northwind.sdf;"

     

     

     

    2006年6月23日 上午 10:00
  • 你的 Data Source 是放在 \Northwind.sdf 下嗎
    2006年6月23日 上午 10:18
  • 謝謝您的回答

    對 我放在 \Northwind.sdf

    請問一下開發 SQL Server 2005 Mobile 程式需要安裝什麼檔案或者做什麼設定嗎??

    大家.NET 組件清單上是否有 System.Data.SqlServerCe 呢?

    我目前開發端已安裝

    SQL 2005
    SQL Server 2005 Mobile Edition Device SDK
    SQL Server 2005 Mobile Edition Server Tools

    PDA上安裝
    sqlce30.ppc.wce5.armv4i.CAB

    2006年6月23日 下午 02:18
  • 請提供錯誤訊息,以方便大家協助你判斷問題原因喔~

    依照您提供的網頁說明,是可以做到SQL Mobile開發,
    只是我的System.Data.SqlServerCe.dll位置也是在
    C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0

    跟你的一樣...

    2006年6月23日 下午 04:45
  • 嗯~ 根據我的經驗,在跟目錄下面的SDF檔案,不需要在最前面加上\,這樣反而會連不到。

    因為我也曾經遇過這種奇怪的問題,後來發現拿掉\就沒問題了...

    這個應該算是莫名奇怪的Tricks

    希望對你有幫助!

    2006年6月24日 上午 06:15
  • 最後因電腦很慢...重灌後...

    就可以用了.... ><"


    謝謝各位的幫忙

    2006年6月30日 上午 07:54
  • 你的 vs 2005的 sql mobile developer tools不見啦~~~

    所以才沒有相關的 dll資訊

    2006年8月21日 下午 12:36
  • 我今天也遇到了同样的问题。

    请问大家已经有解决问题的办法了吗?

    我安装了了vs2005+sql mobile 2005 sdk,但是在 c:\Program Files\Microsoft Visual Studio 8 \SmartDevices\SDK 下面, 根本没有SQLServer\Mobile\V3.0的子目录, 我也是在C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Device\Mobile\V3.0 下面才找到的 Syetem.Data.SqlServerCe.dll .

    是不是安装的时候在哪里要做一些设定, 还是我的vs2005的版本是不全的?

    请各位高手指点, 急。 谢谢!

     

    2007年2月7日 上午 04:28
  • 哈哈, 搞定了。

    原来是我的vs2005的版本是不全的。 我从微软网站下了一个vs2005的试用版本, 在安装的时候选择customer 安装, 就可以了。 在安装过程中, 可以看到 sql 2005 mobile edition 这个选择项目。

    开心100!

    2007年2月8日 下午 11:52