版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、rosoftSQL Server Compact 4.0 數(shù)據(jù)庫的表中的每個列都支持一組指定該列可以包含的數(shù)據(jù)類型的數(shù)據(jù)類型。注意MicrosoftSQL Server 和 SQL Server Compact 4.0 兩者之間在函數(shù)執(zhí)行過程中導(dǎo)致溢出或下溢時提升數(shù)據(jù)類型的方式可能稍有不同。SQL Server Compact 4.0 支持下列數(shù)據(jù)類型:數(shù)據(jù)類型說明bigint整數(shù)數(shù)據(jù),從 263 (9,223,372,036,854,775,808) 到 2631 (9,223,372,036,854,775,807)。存儲大小為 8 字節(jié)。integer整數(shù)數(shù)據(jù),從 231 (-2,147
2、,483,648) 到 2311 (2,147,483,647)。存儲大小為 4字節(jié)。smallint整數(shù)數(shù)據(jù),從 32,768 到 32,767。存儲大小為 2字節(jié)。tinyint整數(shù)數(shù)據(jù),從 0 到 255。存儲大小為 1字節(jié)。bit整數(shù)數(shù)據(jù),值為 1 或 0。存儲大小為 1 位。numeric (p, s)Synonyms:decimal(p,s) and dec (p,s)精度和小數(shù)位數(shù)固定的數(shù)值數(shù)據(jù),取值范圍從 1038+1 到 10381。p 變量指定精度,取值范圍從 1 到 38。s變量指定小數(shù)位數(shù),取值范圍從 0 到p。存儲大小為 19 字節(jié)。money貨幣數(shù)據(jù)值,從 (263
3、/10000) (922,337,203,685,477.5808) 到 2631 (922,337,203,685,477.5807),準(zhǔn)確度為貨幣單位的萬分之一。存儲大小為 8 字節(jié)。float浮點數(shù)數(shù)據(jù),從 1.79E +308 到 1.79E+308存儲大小為 8 字節(jié)。real浮點精度數(shù)字?jǐn)?shù)據(jù),從 3.40E+38 到 3.40E+38。存儲大小為 4字節(jié)。datetime日期和時間數(shù)據(jù),從 1753 年 1 月 1 日到 9999 年 12 月 31 日,準(zhǔn)確度為三百分之一秒或 3.33 毫秒。值被圓整到 .000、.003 或 .007 毫秒增量。存儲為兩個 4 字節(jié)整數(shù)。前 4
4、個字節(jié)存儲早于或晚于base date 1900 年 1 月 1 日的天數(shù)?;鶞?zhǔn)日期是系統(tǒng)的參照日期。不允許datetime的值早于 1753 年 1 月 1 日。后 4 個字節(jié)存儲一天之中的具體時間,被表示為從午夜算起的毫秒數(shù)。秒數(shù)的有效范圍是 059。格式示例yyyy/mm/ddhh:mm:ss1947/08/15 03:33:20mm/dd/yyyyhh:mm:ss04/15/1947 03:33:20dd mmm yyyy hh:mm:ss15 Jan 1947 03:33:20dd mmmm yyyy h:mm:ss15 January 1947 03:33:20national c
5、haracter(n)Synonym:nchar(n)固定長度的 Unicode 數(shù)據(jù),最大長度為 4000 個字符。默認(rèn)長度 = 1。存儲大小(以字節(jié)計)是輸入的字符數(shù)的兩倍。national character varying(n)Synonym:nvarchar(n)可變長度的 Unicode 數(shù)據(jù),長度值范圍為從 1 到 4000 個字符。默認(rèn)長度 = 1。存儲大?。ㄒ宰止?jié)計)是輸入的字符數(shù)的兩倍。ntext可變長度的 Unicode 數(shù)據(jù),最大長度為 (2302)/2 (536,870,911) 個字符。存儲大小(以字節(jié)計)是輸入的字符數(shù)的兩倍。注意字符串函數(shù)中不再支持ntext。n
6、charn 個字符組成的固定長度的 Unicode 字符數(shù)據(jù)。n 必須是從 1 到 4,000 的值。存儲大小是 n 字節(jié)的兩倍。binary(n)固定長度的二進(jìn)制數(shù)據(jù),最大長度為 8000 字節(jié)。默認(rèn)長度 = 1。存儲大小是固定的,是在類型中聲明的以字節(jié)為單位的長度。varbinary(n)可變長度的二進(jìn)制數(shù)據(jù),最大長度為 8000 字節(jié)。默認(rèn)長度 = 1。存儲大小可變。它表示值的長度(以字節(jié)為單位)。image可變長度的二進(jìn)制數(shù)據(jù),最大長度為 2301 (1,073,741,823) 字節(jié)。存儲大小是值的以字節(jié)為單位的長度。uniqueidentifier全局唯一標(biāo)識符 (GUID)。存儲
7、大小為 16 字節(jié)。IDENTITY (s, i)這是數(shù)據(jù)列的一個屬性,而不是一個獨特的數(shù)據(jù)類型。只有整數(shù)數(shù)據(jù)類型的數(shù)據(jù)列可用于標(biāo)識列。一個表只能有一個標(biāo)識列??梢灾付ǚN子和增量,但不能更新列。s (seed) = 起始值i(increment) = 增量值ROWGUIDCOL這是數(shù)據(jù)列的一個屬性,而不是一個獨特的數(shù)據(jù)類型。它是一個表中使用uniqueidentifier數(shù)據(jù)類型定義的列。一個表只能有一個 ROWGUIDCOL 列。Timestamp/rowversion這是一個自動生成的唯一的二進(jìn)制數(shù)字。存儲大小為 8 字節(jié)。創(chuàng)建新的 SQL Server CE 數(shù)據(jù)庫1. 啟動 Visua
8、l Studio .NET,然后打開一個新項目。2. 創(chuàng)建對使用的命名空間的引用。復(fù)制using System;using System.IO;using System.Text;using System.Data;using System.Data.SqlServerCe;using System.Collections;using System.Windows.Forms;using System.Data.Common;3. 創(chuàng)建WalkThrough類。復(fù)制public class WalkThrough static void Main() SqlCeConnection conn
9、= null;try 4. 驗證具有您打算使用的名稱的數(shù)據(jù)庫是否已存在。復(fù)制if (File.Exists (Test.sdf) ) File.Delete (Test.sdf);5. 使用對象創(chuàng)建名為 Test.sdf 的空數(shù)據(jù)庫。注意SQL Server CE 中,數(shù)據(jù)庫名稱的文件擴(kuò)展名為 .sdf。復(fù)制 SqlCeEngine engine = new SqlCeEngine (Data Source = Test.sdf); engine.CreateDatabase ();6. 連接到這個新數(shù)據(jù)庫。復(fù)制conn = new SqlCeConnection (Data Source =
10、 Test.sdf);conn.Open();創(chuàng)建新表1. 使用創(chuàng)建命令類的實例。復(fù)制SqlCeCommand cmd = conn.CreateCommand();2. 運行命令cmd創(chuàng)建表。用于創(chuàng)建表的指令必須在cmd.CommandText所包含的 SQL 代碼中。若要使用 SQL Server CE 的 SQL 編程語言創(chuàng)建表,請使用 CREATE TABLE 語法。有關(guān)更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊中的用于 SQL Server CE 的 SQL 參考。復(fù)制cmd.CommandText = CREATE TABLE TestTbl(col1 int PRIMA
11、RY KEY, col2 ntext, col3 money);cmd.ExecuteNonQuery();將數(shù)據(jù)添加到新表中1. 運行命令以添加數(shù)據(jù)行。與創(chuàng)建表相同,用于添加行的指令也必須在cmd.CommandText所包含的 SQL 代碼中。若要使用 SQL Server CE 的 SQL 編程語言將行添加到表中,請使用 INSERT 語法。有關(guān)更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊中的用于 SQL Server CE 的 SQL 參考。復(fù)制cmd.CommandText = INSERT INTO TestTbl(col1, col2, col3) VALUES (0,
12、abc, 15.66);cmd.ExecuteNonQuery();2. 創(chuàng)建命令,使用參數(shù)將數(shù)據(jù)多次插入表中。參數(shù)可以更高效地查詢數(shù)據(jù)庫,因為可以使用一組包含參數(shù)的 SQL 語句插入多個值。有關(guān)更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊的在查詢中使用參數(shù)。復(fù)制cmd.CommandText = INSERT INTO TestTbl(col1, col2, col3) VALUES (?, ?, ?);cmd.Parameters.Add(new SqlCeParameter(p1, SqlDbType.Int);cmd.Parameters.Add(new SqlCeParame
13、ter(p2, SqlDbType.NText);cmd.Parameters.Add(new SqlCeParameter(p3, SqlDbType.Money);cmd.Parametersp2.Size = 50;cmd.Prepare();3. 執(zhí)行參數(shù)化命令,將數(shù)據(jù)插入表中。復(fù)制cmd.Parametersp1.Value = 1;cmd.Parametersp2.Value = abc;cmd.Parametersp3.Value = 15.66;cmd.ExecuteNonQuery();4. 清除參數(shù),并檢查已插入表中的數(shù)據(jù)。若要使用 SQL Server CE 的 SQL
14、編程語言讀取現(xiàn)有數(shù)據(jù),請使用 SELECT 語法。有關(guān)更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊中的用于 SQL Server CE 的 SQL 參考。復(fù)制cmd.Parameters.Clear();/Set the command text to a SELECT query./cmd.CommandText = SELECT * FROM TestTbl;讀取 SQL Server CE 數(shù)據(jù)庫數(shù)據(jù)讀取數(shù)據(jù)庫數(shù)據(jù)是一種常見的任務(wù),通常涉及對表行信息的訪問。為使用執(zhí)行此任務(wù),您需要SqlCeDataReader和SqlCeCommand對象。注意有關(guān)完整代碼列表,請參見代碼列表:
15、使用 SQL Server CE 數(shù)據(jù)庫。1. 調(diào)用SqlCeCommand對象的ExecuteReader方法以創(chuàng)建SqlCeDataReader的實例。復(fù)制SqlCeDataReader rdr = cmd.ExecuteReader();2. 指示數(shù)據(jù)讀取器rdr在行存在時在每行的列中顯示數(shù)據(jù)。復(fù)制while (rdr.Read()MessageBox.Show(col1 = + rdr.GetInt32(0) + col2 = + rdr.GetString(1) + col3 = + rdr.GetSqlMoney(2);更改 SQL Server CE 數(shù)據(jù)庫中的數(shù)據(jù)在創(chuàng)建表后,可
16、以以多種方式修改表中的數(shù)據(jù):更改特定數(shù)據(jù)的屬性,添加和刪除數(shù)據(jù)行,甚至還可以通過修改表中的列來更改存儲數(shù)據(jù)的方式。在本節(jié)中,您將更改表項的值,查找更改的表的數(shù)據(jù)并處理所有錯誤。為執(zhí)行這些步驟,您將使用在前面的任務(wù)中使用的類:SqlCeCommand和SqlCeDataReader。另外,您將使用SqlCeException進(jìn)行錯誤處理。注意不能在此任務(wù)中運行僅用于特定步驟的代碼。有關(guān)完整代碼列表,請參見代碼列表:使用 SQL Server CE 數(shù)據(jù)庫。更新 SQL Server CE 表中的數(shù)據(jù) 設(shè)置命令對象以使用 UPDATE 語句。若要使用 SQL Server CE 的 SQL 編程語
17、言更改行列的值,請使用 UPDATE 語法。有關(guān)更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊中的用于 SQL Server CE 的 SQL 參考。復(fù)制cmd.CommandText = UPDATE TestTbl SET col2 = some new value WHERE col1 = 0;cmd.ExecuteNonQuery();讀取 SQL Server CE 表中的數(shù)據(jù)1. 設(shè)置命令對象以使用 SELECT 語句,然后通過執(zhí)行SqlCeCommand.ExecuteReader 創(chuàng)建數(shù)據(jù)讀取器的實例。復(fù)制 cmd.CommandText = SELECT * FROM
18、TestTbl;rdr = cmd.ExecuteReader();while (rdr.Read() MessageBox.Show( col1 = + rdr.GetInt32(0) + col2 = + rdr.GetString(1) + col3 = + rdr.GetSqlMoney(2); 2. 使用SqlCeException捕獲任何錯誤,然后關(guān)閉與數(shù)據(jù)庫的連接。復(fù)制catch (SqlCeException e) ShowErrors(e);finallyif(conn.State = ConnectionState.Open)conn.Close();public stat
19、ic void ShowErrors(SqlCeException e) SqlCeErrorCollection errorCollection = e.Errors; StringBuilder bld = new StringBuilder();foreach (SqlCeError err in errorCollection) bld.Append(n Error Code: + err.HResult.ToString(X);bld.Append(n Message : + err.Message);bld.Append(n Minor Err.: + err.NativeErro
20、r);bld.Append(n Source : + err.Source);foreach (int numPar in err.NumericErrorParameters) if (0 != numPar) bld.Append(n Num. Par. : + numPar); foreach (string errPar in err.ErrorParameters) if (String.Empty != errPar) bld.Append(n Err. Par. : + errPar); MessageBox.Show(bld.ToString();bld.Remove(0, b
21、ld.Length); 有關(guān) SQL Server CE 中的錯誤處理的更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊中的錯誤處理。System.Data.SqlServerCe 命名空間命名空間是用于 SQL Server Compact 3.5 的托管數(shù)據(jù)提供程序。此命名空間是類的集合,這些類提供對 SQL Server Compact 3.5 數(shù)據(jù)庫的訪問。通過使用,您可以從智能設(shè)備或計算機(jī)創(chuàng)建、管理和同步 SQL Server Compact 3.5 數(shù)據(jù)庫。以下功能可用于創(chuàng)建 SQL Server Compact 3.5 桌面應(yīng)用程序。 對 System.Transaction
22、.TransactionScope 類的支持。 Entity Framework (System.Data.SqlServerCe.Entity.dll) 的 SQL Server Compact 3.5 提供程序。 Visual Studio 2008 中的對 Visual C+ 速成版和 Visual Basic 速成版應(yīng)用程序開發(fā)的支持。 通過使用 Sync Services for ADO.NET 對同步數(shù)據(jù)的支持。類類說明ResultSetEnumerator可用于循環(huán)訪問ResultSet對象中的記錄集合的枚舉器。ResultSetEnumerator不應(yīng)從代碼直接使用。直接使用S
23、qlCeResultSet對象可以獲得更多功能。ResultSetView實現(xiàn)數(shù)據(jù)綁定接口,并在用戶界面控件與SqlCeResultSet之間起到橋梁作用。RowView基礎(chǔ)結(jié)構(gòu)。SqlCeChangeTracking提供可用于跟蹤對 SQL Server Compact 數(shù)據(jù)庫中的表所做更改的方法。SqlCeCommand表示對數(shù)據(jù)源執(zhí)行的 SQL 語句。SqlCeCommandBuilder提供一種方法,以自動生成用于協(xié)調(diào)對DataSet所做的更改和關(guān)聯(lián)數(shù)據(jù)庫的單表命令。無法繼承此類。SqlCeConnection表示到 SQL Server Compact 3.5 數(shù)據(jù)源的連接是打開的。
24、SqlCeDataAdapter表示一組數(shù)據(jù)命令和一個數(shù)據(jù)庫連接,它們用于填充DataSet和更新數(shù)據(jù)源。SqlCeDataReader提供從數(shù)據(jù)源讀取數(shù)據(jù)行的只進(jìn)流的方法。無法繼承此類。SqlCeEngine表示 SQL Server Compact 3.5 引擎對象的屬性、方法及其他對象。無法繼承此類。SqlCeError收集與數(shù)據(jù)源返回的警告或錯誤有關(guān)的信息。無法繼承此類。SqlCeErrorCollection收集 SQL Server Compact 3.5 的 .NET Compact Framework 數(shù)據(jù)訪問接口產(chǎn)生的所有錯誤。無法繼承此類。SqlCeException基礎(chǔ)提
25、供程序從 SQL Server Compact 3.5 數(shù)據(jù)源返回警告或錯誤時引發(fā)的異常。無法繼承此類。SqlCeFlushFailureEventArgs封裝FlushFailure事件的事件參數(shù)。SqlCeInfoMessageEventArgs為InfoMessage事件提供數(shù)據(jù)。無法繼承此類。SqlCeInvalidDatabaseFormatException嘗試打開較舊或較新 SQL Server Compact 版本的數(shù)據(jù)庫文件時,SQL Server Compact 數(shù)據(jù)源引發(fā)異常。SqlCeLockTimeoutException如果已經(jīng)達(dá)到鎖超時,則會引發(fā)此異常。SqlCe
26、Parameter表示SqlCeCommand的參數(shù),還可表示該參數(shù)到一個DataSet列的映射。無法繼承此類。SqlCeParameterCollection收集與SqlCeCommand有關(guān)的所有參數(shù)以及它們各自到DataSet列的映射。SqlCeProviderFactory表示一組方法,這些方法用于創(chuàng)建訪問接口對數(shù)據(jù)源類的實現(xiàn)的實例。SqlCeRemoteDataAccess初始化SqlCeRemoteDataAccess對象的新實例。有關(guān)遠(yuǎn)程數(shù)據(jù)訪問的更多信息,請參見使用遠(yuǎn)程數(shù)據(jù)訪問 (RDA)。SqlCeReplication初始化SqlCeReplication對象的新實例。有關(guān)
27、 SQL Server 復(fù)制的詳細(xì)信息,請參閱 SQL Server 聯(lián)機(jī)叢書。有關(guān) SQL Server Compact 3.5 中合并復(fù)制的詳細(xì)信息,請參閱 SQL Server Compact 3.5 聯(lián)機(jī)叢書。SqlCeResultSet一個可更新、可滾動并且可綁定的游標(biāo)。SqlCeRowUpdatedEventArgs為RowUpdated事件提供數(shù)據(jù)。SqlCeRowUpdatingEventArgs為RowUpdating事件提供數(shù)據(jù)。SqlCeTransaction表示要在數(shù)據(jù)源執(zhí)行的 SQL 事務(wù)。無法繼承此類。SqlCeTransactionInProgressExcept
28、ion在另一個事務(wù)進(jìn)行期間嘗試修改數(shù)據(jù)庫時發(fā)生。SqlCeType基礎(chǔ)結(jié)構(gòu)。SqlCeUpdatableRecord表示數(shù)據(jù)源中一行可更新的值。SqlCeResultSet對象包含一個或多個UpdatableRecords。SqlMetaData基礎(chǔ)結(jié)構(gòu)。指定并檢索從數(shù)據(jù)庫中檢索的參數(shù)和列中的元數(shù)據(jù)信息。無法繼承此類。委托委托說明OnStartTableDownload用戶為開始從服務(wù)器下載表更改時激發(fā)的事件定義的委托。OnStartTableUpload用戶為開始將表更改上載到服務(wù)器時激發(fā)的事件定義的委托。OnSynchronization一種用戶定義的委托,使用調(diào)解程序工作期間報告的正在執(zhí)
29、行的同步事件。SqlCeFlushFailureEventHandler必須實現(xiàn)偵聽FlushFailure事件的委托。SqlCeInfoMessageEventHandler表示將處理SqlCeConnection的InfoMessage事件的方法。SqlCeRowUpdatedEventHandler表示將要處理SqlCeDataAdapter的RowUpdated事件的方法。SqlCeRowUpdatingEventHandler表示處理SqlCeDataAdapter的RowUpdating事件的方法。枚舉枚舉說明AddOption確定在添加訂閱時是將訂閱添加到現(xiàn)有數(shù)據(jù)庫還是創(chuàng)建新的數(shù)
30、據(jù)庫。CommitMode當(dāng)傳遞給Commit函數(shù)時,CommitMode指定發(fā)生提交的時間。DbInsertOptions指定在使用System.Data.SqlServerCe.SqlCeResultSet.Insert方法時要使用的選項。DbRangeOptions指定在指定要查找的索引范圍時,SetRange方法使用的選項。DbSeekOptions指定Seek方法將如何對索引進(jìn)行搜索的選項。DropOption指定使用DropSubscription方法刪除訂閱時,是保留還是刪除數(shù)據(jù)庫。ExchangeType指定僅將數(shù)據(jù)合并到發(fā)布服務(wù)器還是在發(fā)布服務(wù)器和訂閱服務(wù)器之間進(jìn)行雙向合并。
31、NetworkType指定在設(shè)置SqlCeReplication對象的DistributorNetwork或PublisherNetwork屬性時使用的網(wǎng)絡(luò)協(xié)議。PurgeType指定當(dāng)使用SqlCeChangeTracking類的PurgeTombstoneTableData方法或PurgeTransactionSequenceData方法時用于清除元數(shù)據(jù)的條件。RdaBatchOption指定是否將與Push相關(guān)聯(lián)的行組成一批,歸并到單個事務(wù)中。RdaTrackOption指定是否跟蹤正被提取到設(shè)備的表。RepairOption當(dāng)傳遞給Repair方法時,RepairOption指定要執(zhí)行
32、的數(shù)據(jù)庫修復(fù)類型。ResultSetOptions設(shè)置ResultSetEnumerator的選項。ResultSetSensitivity設(shè)置ResultSetEnumerator的敏感度。SecurityType指定復(fù)制期間在連接到發(fā)布服務(wù)器或分發(fā)服務(wù)器時要使用的安全模式。SnapshotTransferType控制如何將快照文件從分發(fā)服務(wù)器傳輸?shù)竭\行 IIS 的計算機(jī)。TrackingKeyType指定用于標(biāo)識跟蹤數(shù)據(jù)的鍵的類型。TrackingOptions指定要跟蹤的表操作。ValidateType指定要執(zhí)行的數(shù)據(jù)驗證的類型。VerifyOption這些選項確定要使用的數(shù)據(jù)庫驗證的級
33、別。使用提供了從運行在基于 Windows CE .NET 的平臺上的 Microsoft Visual Studio .NET 應(yīng)用程序?qū)?Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 數(shù)據(jù)庫的編程訪問。提供了旨在公開 SQL Server CE 功能的類集。有關(guān)如何使用類創(chuàng)建和訪問 SQL Server CE 數(shù)據(jù)庫的信息,請參見演練一節(jié)中的使用 SQL Server CE 數(shù)據(jù)庫。支持的功能提供了以下功能: 對 SQL Server CE 數(shù)據(jù)源的一致訪問共享數(shù)據(jù)的使用者應(yīng)用程序可以使用 SQL Server C
34、E 數(shù)據(jù)提供程序,連接到 SQL Server CE 數(shù)據(jù)源檢索、操作和更新數(shù)據(jù)。 用于連接到數(shù)據(jù)庫、運行命令和檢索結(jié)果的組件檢索的結(jié)果可以直接處理,或放在 ADO.NETDataSet對象中以便以一種特殊方式向用戶公開,與來自多個數(shù)據(jù)源的數(shù)據(jù)合并或在各層之間遠(yuǎn)程傳播。 對編寫托管代碼的開發(fā)人員的支持該功能類似于 ADO 向本機(jī) COM 開發(fā)人員提供的功能。 索引功能以實現(xiàn)最佳性能SqlCeCommand.SetRange限制通過SqlCeDataReader.Read和SqlCeDataReader.Seek調(diào)用可見的行項集。SqlCeDataReader.Seek允許在當(dāng)前范圍內(nèi)的關(guān)鍵值處
35、直接定位。 通過SqlCeReplication和SqlCeRemoteDataAccess類與 SQL Server CE Replication 和遠(yuǎn)程數(shù)據(jù)訪問 (RDA) 對象進(jìn)行交互所需的接口 支持?jǐn)?shù)據(jù)庫創(chuàng)建和壓縮的SqlCeEngine類方法。 參數(shù)化查詢在SqlCeCommand.CommandText屬性中,所有參數(shù)占位符必須用問號 (?) 代替。不支持命名的參數(shù)。 數(shù)據(jù)庫加密和密碼保護(hù) SqlCeDataReader.GetValue返回類型SqlDecimal的值。命名空間中的SqlCeDataReader.GetValue方法返回類型的值,而命名空間中的SqlDataRea
36、der.GetValue方法返回類型System.Decimal的值。提供程序限制有以下限制: 僅支持與 SQL Server CE 數(shù)據(jù)源的一個并行連接。不過,與不同的是,支持在同一連接上創(chuàng)建的多個數(shù)據(jù)讀取器。 不支持批查詢。查詢必須是單個 SQL 語句。例如,下面的語句是有效的:1. SELECT*FROMCustomers下面的語句是無效的:2. SELECT*FROMCustomers;SELECT*FROMCustomers2Datasets必須從SqlCeDataAdapter中刷新。如果使用的是 Visual Studio .NET 項目中的代碼,必須修改 SQL 語句以遵守此限
37、制。 不支持嵌套或并行事務(wù)。 不支持命名的參數(shù)。使用可以使用命名空間開發(fā)基于 Microsoft Windows CE .NET 的應(yīng)用程序,這些應(yīng)用程序?qū)⒃L問 Microsoft SQL Server 7.0 或更高版本中的數(shù)據(jù)庫。是 SQL Server .NET Framework 精簡版數(shù)據(jù)提供程序。該數(shù)據(jù)提供程序與 .NET Framework 的命名空間相對應(yīng)。與它在 .NET Framework 中的副本一樣,.NET Framework 精簡版中的是特定類的集合,這些類可用于從基于 Windows CE .NET 的設(shè)備中訪問包含托管代碼的 SQL Server 數(shù)據(jù)庫。除非另
38、外說明,否則命名空間中的所有對象與 .NET Framework 的命名空間中的相應(yīng)對象相匹配。提供程序限制以下列表描述了適用于基于 Windows CE .NET 的設(shè)備和 .NET Framework 精簡版的限制和例外情況: 不受支持的類不支持SqlClientPermission和SqlClientPermissionAttribute類。 ConnectionString屬性在基于 Windows CE .NET 的設(shè)備上,使用的應(yīng)用程序可能使用 Windows 身份驗證協(xié)議,而不是使用 SQL Server 身份驗證。為此,連接字符串必須包含以下屬性。屬性值集成安全性SSPI用戶
39、IDDomainusername密碼另外,不支持以下ConnectionString屬性:AttachDBFilename、Max Pool Size、Min Pool Size、Connection Lifetime、Connection Reset、Enlist、Pooling、Network Library 和 Encrypt。 ANSI 數(shù)據(jù)僅在基于英語的設(shè)備上,才支持 SQL_Latin1_General_CP1_CI_AS 排序規(guī)則的 ANSI 數(shù)據(jù)。.NET Framework 中的所有字符串都是 Unicode。使用 .NET Framework 編碼類將 SQL Server
40、 中的 ANSI 數(shù)據(jù)轉(zhuǎn)換為 Unicode。盡管在 .NET Framework 精簡版中支持編碼類,但并非支持所有代碼頁。此外,如果基于 Windows CE .NET 的設(shè)備未提供 ANSI 列的代碼頁,則不能讀取或?qū)懭朐摿小H绻荒苁褂?ANSI 到 Unicode 轉(zhuǎn)換的代碼頁,就會生成錯誤。有關(guān)可用于基于 Windows CE .NET 的特定設(shè)備的代碼頁的信息,請與設(shè)備制造商聯(lián)系。 連接池不支持連接池。任何時候,設(shè)備與 SQL Server 實例都只能有少量的連接。 分布式事務(wù)不支持分布式事務(wù)。事務(wù)不能跨數(shù)據(jù)庫或服務(wù)器。在分布式事務(wù)期間產(chǎn)生 InvalidOperationExc
41、eption 異常。 網(wǎng)絡(luò)庫選擇只支持與 SQL Server 實例的 TCP/IP 連接。不能通過設(shè)備插座連接到 SQL Server。 網(wǎng)絡(luò)庫加密不支持與 SQL Server 實例的加密連接。如果運行 SQL Server 的計算機(jī)上安裝了安全套接層 (SSL) 證書,連接將失敗。 Windows 身份驗證支持 Windows 身份驗證;不過,必須始終在連接字符串中指定用于域控制器中的身份驗證的用戶 ID 和密碼。有關(guān)更多信息,請參見 .NET Framework 精簡版 SDK 中的命名空間參考。使用 SQL Server CE 管理數(shù)據(jù)可以使用 Microsoft ADO.NET 訪
42、問設(shè)備上的 Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 數(shù)據(jù)庫。SQL Server CE 提供了與基本關(guān)系數(shù)據(jù)庫功能相似的 SQL Server 編程模型,即數(shù)據(jù)庫存儲區(qū)、查詢處理器以及可靠且可伸縮的連接。SQL Server CE 連接解決方案使用 Web 協(xié)議 HTTP 或 HTTPS 進(jìn)行通信。在使用連接解決方案之前,必須在運行 IIS 的計算機(jī)上安裝 SQL Server CE Server Tools。SQL Server CE 支持以下連接解決方案,這些連接解決方案用于管理設(shè)備上的 SQL Server
43、 CE 數(shù)據(jù)庫和服務(wù)器上的 SQL Server 數(shù)據(jù)庫之間的數(shù)據(jù): 合并復(fù)制 遠(yuǎn)程數(shù)據(jù)訪問 (RDA)在通過 HTTP 使用復(fù)制或 RDA 訪問 SQL Server 的數(shù)據(jù)庫之前,必須設(shè)置一個虛擬目錄并配置相應(yīng)的 NTFS 權(quán)限。有關(guān)更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊的配置連接安全性。合并復(fù)制SQL Server CE 中的合并復(fù)制基于 Microsoft SQL Server 2000 中實現(xiàn)的合并復(fù)制。合并復(fù)制非常適合移動設(shè)備,因為它使移動設(shè)備和服務(wù)器上的數(shù)據(jù)可以分別更新。以后當(dāng)設(shè)備連接到服務(wù)器時,設(shè)備和服務(wù)器上的數(shù)據(jù)可以同步。合并復(fù)制的常見方案包括:只讀復(fù)制,數(shù)據(jù)捕
44、獲和上載,以及復(fù)制、更新和同步。大多數(shù)應(yīng)用程序?qū)⑦@些方案組合起來使用。例如,銷售支持應(yīng)用程序可能使用只讀復(fù)制將價格表下載到設(shè)備中,同時依靠數(shù)據(jù)捕獲和上載捕獲設(shè)備上的新訂單,然后將它們上載到服務(wù)器中。可以使用水平和垂直篩選器定義和維護(hù)不同客戶端或客戶端組的唯一數(shù)據(jù)子集。水平篩選器可用于復(fù)制已發(fā)布的表行的子集。垂直篩選器可用于復(fù)制已發(fā)布的表列的子集。有關(guān)更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊的使用復(fù)制。若要實現(xiàn)復(fù)制,請使用命名空間的SqlCeReplication類。遠(yuǎn)程數(shù)據(jù)訪問RDA 為基于 Windows CE .NET 的應(yīng)用程序提供了訪問位于 Microsoft SQL Se
45、rver 7.0 版或 SQL Server 2000 遠(yuǎn)程實例上的數(shù)據(jù)庫的簡單方法。當(dāng)不需要使用合并復(fù)制的完整功能時可以使用 RDA。使用 RDA 時不需要配置 SQL Server 復(fù)制或創(chuàng)建發(fā)布。應(yīng)用程序可以用兩種方式使用 RDA:一種是應(yīng)用程序提交數(shù)據(jù)操作語言 (DML) 語句,該語句被轉(zhuǎn)交到 SQL Server 系統(tǒng)以執(zhí)行,另一種是應(yīng)用程序提供返回行集合的 SQL 查詢。結(jié)果行集合被傳送到基于 Windows CE 的設(shè)備,并以表的形式存儲在那里。還選擇跟蹤應(yīng)用程序所做的所有更改。當(dāng)應(yīng)用程序發(fā)出請求時,更新的行被發(fā)送回服務(wù)器,并在那里應(yīng)用于 SQL Server 數(shù)據(jù)庫。有關(guān)更多信
46、息,請參見SQL Server CE 聯(lián)機(jī)手冊的使用遠(yuǎn)程數(shù)據(jù)訪問。若要實現(xiàn) RDA,請使用命名空間的SqlCeRemoteDataAccess類。有關(guān) SQL Server CE 的更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊配置 SQL Server CE 開發(fā)環(huán)境Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 的開發(fā)環(huán)境可配置為單服務(wù)器環(huán)境或多服務(wù)器環(huán)境。基于 Windows CE .NET 的設(shè)備可直接連接到單服務(wù)器或多服務(wù)器開發(fā)環(huán)境。根據(jù)服務(wù)器配置的不同,可能需要在多臺計算機(jī)上安裝 SQL Server
47、CE Server Tools。布署和調(diào)試應(yīng)用程序必須使用 Microsoft ActiveSync。多臺服務(wù)器通常用在生產(chǎn)環(huán)境中(特別是在公司中),因為它們提供了更大的靈活性,并且能夠更好地滿足復(fù)雜的安全需要。但是,如果您是首次設(shè)置 SQL Server CE,可以考慮設(shè)置單服務(wù)器環(huán)境。這樣可以將所有必要的服務(wù)器軟件安裝在一臺計算機(jī)上。若要進(jìn)一步簡化設(shè)置,可以將單服務(wù)器和開發(fā)環(huán)境組合在一臺計算機(jī)上,創(chuàng)建一個完整的開發(fā)和測試環(huán)境。成功設(shè)置了單服務(wù)器環(huán)境后,可以很容易地遷移到多服務(wù)器環(huán)境。注意可以使用模擬器測試應(yīng)用程序;不過,在通過模擬器運行應(yīng)用程序時不能使用安全套接層 (SSL) 加密。安裝
48、Visual Studio .NET 時會自動配置 SQL Server CE 的開發(fā)環(huán)境。在安裝 Visual Studio 后,還必須配置 Microsoft Internet 信息服務(wù) (IIS) 系統(tǒng)和基于 Windows CE .NET 的設(shè)備。運行 IIS 的計算機(jī)上還必須安裝 SQL Server CE Server Tools。SQL Server CE Server Tools 只與 SQL Server 2000 Service Pack 1 和更高版本兼容。在同時運行 IIS 和 SQL Server 2000 的計算機(jī)上安裝 SQL Server CE Server T
49、ools 時,要確保 SQL Server CE Server Tools 的安裝程序與 SQL Server 2000 版本相對應(yīng)。文件名兼容版本Sqlcesql2ksp1.exeSQL Server 2000 Service Pack 1Sqlcesql2ksp2.exeSQL Server 2000 Service Pack 2SQL Server CE 組件位置SQL Server CE 組件包含在 Microsoft Visual Studio .NET 中。下表按文件位置列出了安裝在開發(fā)計算機(jī)上的文件。默認(rèn)情況下,這些文件和位置在 Program FilesMicrosoft Vi
50、sual Studio .NET 2003CompactFrameworkSDKv1.0.5000 中創(chuàng)建。位置內(nèi)容Windows CE包含 SQL Server CE Assemblies、System.Data.SqlServerCe.dll 和的文件夾。Windows CEwce300和Windows CEwce400一系列子文件夾,包含 CAB 文件 Scessor.cab、Sqlce.cab 和 Scessor.cab。每個文件夾與 Windows CE 操作系統(tǒng)的一個版本和一個處理器類型相對應(yīng)。Sqlce.platfo
51、cessor.cab 包含 SQL Server CE 所需的全部文件。Sqlce.cab 包含 Isqlw20.exe(實現(xiàn) SQL Server CE 查詢分析器的程序)和 Ssceerror20en.dll(提供在開發(fā)期間使用的錯誤說明的 DLL)。Scessor.cab 包含使用所需的全部文件。包含 SQL Server CE 聯(lián)機(jī)手冊 (Sqlce.chm)、SQL Server CE Server Tools 自解壓縮可執(zhí)行文件(Sqlcesql2ksp1.exe 或 Sqlcesql2ksp2.exe)和 ActiveSync 的 SQL
52、 Server CE Relay 擴(kuò)展 (SSCERelay.exe)。Samples一系列包含示例應(yīng)用程序的文件夾。有關(guān)安裝問題的更多信息,請參見SQL Server CE 聯(lián)機(jī)手冊中的以下主題: 在 IIS 系統(tǒng)上安裝 SQL Server CE 在基于 Windows CE 的設(shè)備上安裝 SQL Server CE請參見在Wince和Windows Mobile下最常用的數(shù)據(jù)庫為SQL CE,SQL CE也曾經(jīng)叫做SQL Server for Windows CE和SQL ServerMobile Edition,最新版本命名為SQL Server Compact 3.5 SP1。 SQ
53、L Server Compact不僅僅能運行于Wince和Windows Mobile,而且能運行于Windows的PC上,是Access的有效替代品,如果不使用存儲過程,在SQL Server Compact下開發(fā)的程序幾乎可以無修改移植到SQL Server的其他服務(wù)器版本上??梢詤⒁娺@篇文章 SQL Server Express和SQL Server Compact的應(yīng)用。在這篇文章中我會使用SQL CE這一命名。在.NET Compact Framework下進(jìn)行SQL CE使用和開發(fā),需要應(yīng)用庫,需要注意的是不同的SQL CE版本使用不用的DLL版本. SQL CE 3.5的庫一般對
54、應(yīng)以下的目錄 C:Program FilesMicrosoft SQL Server Compact Editionv3.5 ADO.net DLL,而SQL CE 3.0的庫一般對應(yīng)以下的目錄 C:Program FilesMicrosoft Visual Studio 8SmartDevicesSDKSQL ServerMobile,彼此不相兼容。由于開發(fā)的命名空間(namespace)是一致的,所以開發(fā)的程序可以用在不用的SQL CE版本。helper類下面演示的是一個SQL CE的helper類,這個類只是針對SQL CE數(shù)據(jù)庫,沒有考慮移植到其他數(shù)據(jù)庫,所以所有的類都使用SQL CE相關(guān)的類。classSqlCeHelper:IDispo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重點環(huán)節(jié)應(yīng)急管
- 沈陽理工大學(xué)《含能運載材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《操作系統(tǒng)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《環(huán)境工程項目管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南小產(chǎn)權(quán)房買賣合同
- 2025屆高考數(shù)學(xué)統(tǒng)考二輪復(fù)習(xí)第二部分專題5解析幾何第1講直線與圓教師用書教案理1
- 2024部門經(jīng)理入職發(fā)言部門經(jīng)理入職合同范本
- 2024職工住房抵押借款合同范本
- 2024網(wǎng)絡(luò)安全服務(wù)合同
- 2024水庫承包合同范本范文
- 承插型盤扣式鋼管腳手架驗收表
- TSGD0001-2009壓力管道安全技術(shù)監(jiān)察規(guī)程-工業(yè)管道
- 日檢、周檢、月檢記錄表(2)
- 高中學(xué)生檔案表格
- 夏季反季節(jié)施工方案綠化
- 上期開特下期出特公式
- 中國藥科大藥大動力學(xué)重點總結(jié)
- 高中生物必修一學(xué)考知識總結(jié)
- 火力發(fā)電廠設(shè)計技術(shù)規(guī)程(熱控部分)
- 中醫(yī)師承學(xué)員報名申請表
- MSDS(T-35)DBE溶劑
評論
0/150
提交評論