利用net compact framework开发行动装置数据库应用程序
利用 .NET Compact Framework開發行動裝置資料庫應用程式,楊先民 資深講師 恆逸資訊,Agenda,SQL Server CE 概論 開發建置平台 Smart Device Extensions (SDE) 概論 SQL Server CE 2.0版架構和特色 環境建置與測試,SQL Server CE 概論,主要情境 離線處理資料庫 網際網路/區域網路的連線情情 與 Mobile Web Forms/MMIT, ADO.NET Data Set是不一樣的觀念 顧客情境 適合顧客將資料帶著走的環境,Windows CE 平台,H/PC 2K (Jornada 720, Intermec 6651) 不支援 .NET CF support 鍵盤支援 擁有 32mb ROM/RAM PC Card/USB PocketPC/PocketPC 2002 (HP 56X, Compaq iPaq) 沒有健盤支援 .NET CF 支援 大多數都有 64MB RAM/ROM, USB, 和 CF 卡 Embedded (Intermec 5020) 不同 CPU/RAM/ROM PB 3.0 Native 支援 PB 4.0 .NET CF 支援,.NET CF 開發順序,Visual Studio .NET,Source Code (Hello.*),Compliers,.NET Compact Framework Class Libs,.NET Compact Framework CLR,.NET Compact Framework Class Libs,Hello.exe,Windows CE 模擬器,.NET Compact Framework CLR,.NET Compact Framework Class Libs,Hello.exe,Win32,.NET Compact Framework CLR,.NET Compact Framework Class Libs,Hello.exe,Device,開發選項,.NET CF 類別函式庫,System,System.Data,System.Xml,System.Web,Globalization,Text,Security,Collections,Resources,Reflection,Net,IO,Threading,Diagnostics,ServiceProcess,Configuration,Design,ADO.NET,SqlServerCe,SqlClient,Xslt/XPath,XmlDocument,Runtime,InteropServices,Remoting,Serialization,Serialization,Configuration,SessionState,Caching,Security,Services,Description,Discovery,Protocols,UI,HtmlControls,WebControls,System.Drawing,Imaging,Drawing2D,Text,Printing,System.WinForms,Design,ComponentModel,Reader/Writers,OLEDB CE,CLR / .NET CF,QP/Cursor Engine/ES,SQL Server CE 2.0版資料存取,ADO CE v3.1,Storage Engine / Repl Tracking,SQL Server CE v2.0,eVB 3.0,eVC 3.0,OLEDB,OLEDB,SQL Server CE 2.0 Data Provider,Native/Unmanaged Stack,SDE/Managed Stack,ADO.NET,VS .NET (VB.NET, C#),SQL Server CE v2.0 平台支援,SQL Server 2000 Windows® CE 2.0版,與 SQL Server相容 相同的結果 相容的資料型別 適當的大小 800kb for X86 CPU OS s支援 Windows CE 3.0 之後的版本 PocketPC, PocketPC 2002, HPC 2K, PB 3.0, PB 4.0 Windows CE 2.11 support dropped PPC, HPC,SQL CE 資料庫特色,多欄索引支援 資料的一致性 次查詢使用 Defaults Inner/outer joins 一個檔案的資料庫 Null 支援 Unicode 支援 交易管理,資料型別 Real, Numeric, NVarChar, NText, Image, Integer, DateTime, VarBinary, UniqueIdentifier, Money Having/group by Seek on index Set functions Identity屬性 Local安全性設定 - DB encryption (128-bit) and database password,新V2.0 特色,Intrinsic functions,ABS ACOS ASIN ATAN ATN2 CEILING COS COT DEGREES EXP,FLOOR LOG LOG10 PI POWER RADIANS RAND ROUND SIGN SQRT NEWID,TAN UNICODE CHAR CHARINDEX LEN LOWER LTRIM PATINDEX REPLACE REPLICATE IDENTITY,RTRIM SPACE STR STUFF SUBSTRING UPPER CASE COALESCE CONVERT DATALENGTH,新的2.0版特色,Union指令 SELECT * FROM A UNION SELECT * FROM B 參數化的查詢 INSERT INTO mytable (col1, col2) VALUES (?, ?); Index Pull 可以將 RDA Pull的 索引下拉回來 方便的安裝設定SQL CE到 Client端 Ease installation of SQL CE Server components 一個 Table能設定的索引數增加,新的2.0版特色,SQL Server Client Data Provider 可直接連接到SQL Server Enhanced ISQLW,demo,ISQLW CE, 新的 SQL,demo,建立 SQL CE資料庫及參數化的查詢,SQL Server CE 2.0版與 .NET 的整合 ADO .NET,System.Data.SqlClient 直接連接到SQL Server 可和伺服器端的 SQL Server 查詢完全的TSQL指令 使用Stored Procedures System.Data.SqlServerCE Local data provider 提供 Local端的 SQL CE存取,SQL Server CE 錯誤處理機制,利用 try/catch System.Data.SqlServerCe.SqlCeException,OLEDB CE,CLR / .NET CF,QP/Cursor Engine/ES,CE 存料存取 儲存架構,Client Agent: Replication and RDA,ADO CE v3.1,OLEDB / Replication API,IIS,CLIENT,SERVER,Storage Engine / Repl Tracking,SQL CE Edition v2.0,eVB 3.0,eVC 3.0,OLEDB,OLEDB,Server Agent: Replication and Remote Data Access,HTTP,XML/BizTalk/CS 2002,802.11b, CDPD, GSM, CDMA, TDMA, etc.,Enterprise Backend Oracle/db2/etc.,SQL Server CE Data Provider,Native/Unmanaged Stack,Data Provider,SQL Server Client Data Provider,ADO.NET,VS .NET (VB.NET, C#),.NET CF / Managed Stack,TDS,Ethernet,Well Connected,Occasionally Connected,Connectivity Transport,利用 Web的機制 HTTP 連線機制 Internet 和 Intranet皆可 利用 IIS控制安全性 驗證 (匿名, 基本, Windows整合) 授權 傳輸過程中利用加密機制 可利用防火牆阻斷非法連線,連線 合併式複寫(Merge replication),SQL Server 2000 提供 SQL Server CE所需的重要關鍵資料 水平和垂直式切割 動態的水平分割資料 自動範圍的自動編號欄位 標準/自訂的衝突管理,合併式複寫的 APIs,System.Data.SQLServerCe.Engine.CreateDatabase 取代了 AddSubscription Method 建立空的資料庫 System.Data.SQLServerCe.Replication.Synchronize 取代了之前所提供的 methods Initialize Run Terminate 初始化同步資料 建立資料庫架構,下載資料與建立限制條件 循序性的同步資料 將異動的資料推上去並將資料做修改的動作,連線 遠端資料存取(Remote data access),可連接到 SQL Server 6.5 sp5以上版本 下載到裝置後隨即離線 離線資料會記錄更改過的資料 相當容易使用 可以適時的取代合併式複寫,遠端資料存取 APIs,System.Data.SQLServerCe.RemoteDataAccess.Pull 將資料從 SQL Server 送到裝置中 藉由 SQL 指令將資料下載下來 會建立 local端的資料表 允許記錄被異動的資料 能夠將 index建置在 local的資料表上 System.Data.SQLServerCe.RemoteDataAccess.Push 將修改的資料傳回 SQL Server System.Data.SQLServerCe.RemoteDataAccess. SubmitSQL 處理 SQL 的DML 指令,demo,SQL Server CE 的連線,.Net程式的佈署,可自訂 CAB 檔案 起源於 eMVT 的精靈 載入 CAB 檔案和資料庫於 CF 卡 Allows for cold boot recovery in field Used version flag in publication If version changes, then it is replicated down to the device This flags download of new CAB file from IIS server and updates latest version,SQL Server CE 2.0版授權方式,包含在 Smart Device Extension (SDE) SQL Server CE and SQL Server CE server side components Developer and test license Need SQL Server Developer Edition with Visual Studio® .NET Standard and Pro SQL Server 2000 Developer 版本 $499 U.S.D. Web download SQL Server CE One developer license Allows for distribution of SQL Server CE Allows for testing end to end connectivity CAL/CPU license needed for connectivity to SQL Server,