SQL Server CE 開發前準備

2021-04-02 22:17:37 字數 2942 閱讀 5745

sql server ce 2.0的全名是sql server 2000 windows ce edition version 2.0

。2023年秋天就有了,那時候也正好是.net compact framework剛剛出來的時候。那時候就想研究研究,但因為實際需求太少、沒有人問問題、沒人有做專案,所以就一直扔著。

不過隨著pocket pc/windows mobile越來越被人熟悉,一些實際需求也就帶動出來了。典型的需求是field service。現在很多field service仍然是依賴紙張,做不到全部電子化。

例子1:公司派人去倉庫驗貨、點貨,可以把清單同步到pocket pc上,然後在倉庫裡面直接在ppc上面update,回到公司一同步就可以了。否則按照原先做法,需要先列印一張清單,回來以後再錄入一遍。

例子2:

聯想派人上門來修電腦,以前總是帶著一張列印出來的派工單,維修晚了以後維修的人填寫維修記錄,然後讓客戶簽字。這樣做,一則是紙質派工單的檔案管理很麻煩,二則維修記錄等停留在紙上,如果想用作知識管理、business intelligence等更多分析用途,還需要再找人輸入。如果能把派工單同步到pocket pc裡面,在現場直接填寫記錄以及讓客戶簽字,回來一下子同步到伺服器上,就方便多了。

1. sql ce的架構

首先要回答的問題是「sql ce是什麼」。簡單的說,sql ce就是執行在pocket pc以及其他windows ce平台上的乙個很簡化的sql server 2000/7.0。之所以說是「簡化」的,因為它支援的功能少、資料型別比較少、周邊工具也少。除了執行在device上的部分以外,sql ce還帶了一套開發包(就是sqlce data provider),以及sql ce server tool用來連線伺服器上的sql server 2000/7.0:

開發時,可以用vs.net或者evb/evc來開發。如果用evb/evc開發,就用adoce 3.1;如果用.net開發,就用.net compact framework以及sql server ce data provider,用法基本上和原先的ado.net沒啥太大的區別:

執行時,sql ce的感覺就好像是sql server 2000/7.0的乙個副本,sql ce應用程式本身在pocket pc上會占用1-3mb空間,另外資料回存放在字尾名為.sdf的檔案中(和sql2k中的mdf檔案同樣的角色)。使用者在pocket pc上做的操作都先發生在sql ce上,然後再時不時地和sql server 2000/7.0同步(replication)。當然,也可以用rda(remote data access)的方式,直接讓資料操作發生在sql server 2000/7.0上。

這裡乙個有意思的地方是無論用replication還是rda,移動裝置訪問sql server 2000/7.0時必須通過iis進行,不知道這個設計是否考慮了web server會放在dmz裡面而sql會放在internal的原因:

2. sql ce的安裝有興趣的可以在http://www.microsoft.com/sql/ce/downloads/ce20.asp

a) 在開發環境上安裝sql ce。

b) 在iis上安裝sql ce server tool,並配置連線sql server 2000資料庫。

如果sql server 2000是sp1或者sp2,這一步可以用c:/program files/microsoft sql server ce 2.0/redist/server下的檔案安裝。如果裝了sp3,可以到http://www.microsoft.com/sql/ce/downloads/sp3.asp

安裝好了以後要配置iis和sql server 2000之間的連線。配置成這樣就可以了:

這一步,如果sql server上面沒有建立過publisher,還需要馬上建立乙個。snapshot folder等目錄的許可權最好放寬些,免得將來出錯。

c) 最後,在pocket pc上安裝。

其實,這步不需要自己來做。vs.net 2003在deploy專案的時候自動會安裝的。當然,如果需要手工安裝,可以用c:/program files/microsoft visual studio .net 2003/compactframeworksdk/v1.0.5000/windows ce/下的檔案安裝,其中包括了資料庫引擎、query analyzer等。我的pocket pc是ipaq 1940,系統是中文的ppc 2003,我用的安裝檔案是那個目錄下的wce400/armv4/子目錄。其他平台不太清楚。

這些都做完了,sql ce的安裝也就ok了。

3. 移動ibuyspy的例項ibuyspy的安裝路徑是c:/program files/microsoft visual studio .net 2003/compactframeworksdk/v1.0.5000/windows ce/samples/vb/pocket pc/ibuyspydelivery。不難裝,一路next就可以了,有wizard,安裝程式會把伺服器上的資料庫也setup好,還會把client發布到pocket pc上(發布client需要vs.net 2003)。

下面是一些pocket pc上的screenshot,沒摸過的兄弟看了就有感性認識了:

a) sql ce在device上存在形式是乙個.sdf檔案

b) sql ce也有query analyzer

c) 和sql server 2000同步

d) ibuyspy例子提供的乙個簽名控制項真不錯,會轉換成bit array儲存在資料庫中

上面這些心得,也可以在http://eric.tanqi.com/sqlce/sqlserverce.zip

很快sql server mobile edition

也要出來了,跟著vs.net 2005和yukon一起,應該算是sql ce 2.0的下乙個版本。粗粗看了一眼,好像提供了synchronization的進度api,這樣就可以顯示乙個同步的進度條了。

低速前碰開發

為實現車輛在10km h的速度下,當檢測到前方有障礙物 車 的同時,能夠給與駕駛員報警提示,並且在碰撞發生前,自主響應剎車系統避免碰撞的發生。嘗試開發低速前碰功能。確認所需求的輸入輸出訊號。輸入訊號 abs輸入當前車速資訊,前向超聲波雷達輸入前方障礙物的距離等資訊 輸出訊號 輸出報警聲音資訊,輸出制...

iOS開發準備前工作

ios開發 準備前工作是本文要介紹的內容,不多說,我們首先來看內容。要進行iphone和ipad的開發,首先要搭建開發環境。不建議在虛擬機器裡裝mac os,除非你的pc效能非常強勁。既然要玩蘋果,多花點本錢就是不能少的了。因此在硬體方面,首先要準備一台蘋果本,或者mac min也可以。我用的就是m...

Django學習 開發前準備

django就是乙個由python開發的免費的開源 框架,可以用於搭建高效能的,優秀的 如果想仔細了解django的歷史趣事,請登陸django官網 pip install virtualenv 安裝virtualenvcd desktop 來到桌面 建個 django venv 資料夾作為虛擬環境...