国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server Compact Edition 與SQL Server 2005數據同步之請求和推送

2024-08-31 00:43:34
字體:
來源:轉載
供稿:網友

一、前言

相信有Windows CE 或 Windows Mobile 開發經驗的人員都或多或少要對移動終端的數據進行推送至SQL Server或是向SQL Server請求數據。但是用什么方法進行呢?相信大家立即會想到Microsoft ActiveSync,這也是個不錯的選擇,但這個方法只是針對文件的Copy、Paste、Delete等操作,還是有一定的局限性。另外大家也會想到經TCP/IP通過Socket或Web Service等進行數據同步,直接向SQL Server請求和推送數據,但是這個難度就在于Socket或Web Service的開發了。本文將介紹通過“RDA(遠程數據訪問)”方法,給大家參考,只要少少代碼和設置便可以輕松實現了。

二、創建快照文件夾

1打開資源管理器中,在C盤下創建一個名為snapshot的新文件夾。右鍵單擊snapshot文件夾,然后選擇共享和安全。

2 在共享選項卡,選擇共享該文件夾,然后單擊權限。

3 在共享權限頁中,單擊添加。

4 單擊高級,單擊立即查找,選擇登陸用戶名,單擊確定。

5 在snapshot的權限中,為剛才分配的用戶選中更改和讀取權限,然后單擊確定。

6選擇安全選項卡,單擊添加,添加剛才的用戶到用戶列表中。

7選擇用戶,分配以下權限:

-讀取和執行

-列出文件夾目錄

-讀取

-寫入

8單擊確定關閉快照屬性窗口。

9關閉 Windows 資源管理器。

注:如果你的電腦啟用了簡單文件夾共享,請選擇工具,單擊文件夾選項,在查看選項頁中去除簡單文件夾共享。這樣才看到第2步以下的內容。

三、配置SQL Server Compact的Web同步。

如果你的PC上沒有安裝Microsoft SQL Server 2005 Compact Edition Server Tools,請到http://www.microsoft.com/downloads/details.aspx?FamilyId=4E45F676-E69A-4F7F-A016-C1585ACF4310&displaylang=zh-cn 進行下載。

1單擊開始->所有程序-> Microsoft SQL Server 2005 Compact Edition->配置 Web 同步向導。

2在歡迎使用配置 Web 同步向導頁上,單擊下一步。

3在訂閱服務器類型頁上,選擇SQL Server Compact Edition,單擊下一步。

4在Web 服務器頁中,選擇創建新的虛擬目錄,然后選擇默認網站。單擊下一步。剩余的步驟用于創建新的虛擬目錄。

5在虛擬目錄信息頁上,在別名文本框中,輸入虛擬目錄名稱。在路徑文本框中設置虛擬目錄的本地文件路徑(可默認),然后單擊下一步。

6在安全通信頁上,默認選擇不需要使用安全通道(SSL)。用戶將通過以 http:// 開頭的 URL 字符串訪問您的虛擬目錄,然后單擊下一步。

7在客戶端身份驗證頁上,選擇將對客戶端進行身份驗證。要求輸入用戶名和密碼,然后單擊下一步。

8在“需經身份驗證的訪問”頁上,選擇要使用的身份驗證類型,這里選擇集成 Windows 身份驗證。然后單擊下一步。

9在目錄訪問頁上,添加登陸用戶權限,然后單擊下一步。

10在快照共享訪問頁上,選擇每第一步中的快照,然后單擊下一步。

11單擊完成,完成創建并配置虛擬目錄后,單擊關閉。 注:你的PC機上必需安裝有IIS

四、建立測試數據庫

1 打開SQL Server Management Studio,新建查詢,輸入以下內容:

USE master;
GO
IF EXISTS (SELECT * FROM sys.sysdatabases WHERE name = 'SQLMobile')
BEGIN
    DROP Database SQLMobile;
END
GO
CREATE DATABASE SQLMobile;
GO
USE SQLMobile;
GO
CREATE TABLE Test (ID INTEGER IDENTITY (1,1)
CONSTRAINT pkID PRIMARY KEY, Test NVarChar (50));
GO
insert into Test (Test) values('Test1')
insert into Test (Test) values('Test2')
GO

打開Windows CE 的Query Analyzer 在路徑/Program Files/SQLMobile下建立命名為sqlmobile的測試數據庫。

五、 建立示例程序

1 打開Microsoft Visual Studio 2005,建立Windows CE的Device Application應用程序,命名為SQLMobile。

2 刪除菜單,添加兩個button,并命名為Push(推送)和Pull(請示),閏添加單擊事件。

3在程序中添加System.Data.SqlServerCe的引用,并Using到程序中。

4在Push的單擊事件中添加以下代碼:

string ConnectString = @"Provider=SQLOLEDB; Data Source=***; Initial Catalog=SQLMobile; User ID=sa;Password = ***";
SqlCeRemoteDataAccess rda = null;
try
{
rda = new SqlCeRemoteDataAccess(@"http://192.168.1.3/SQLMobile/sqlcesa30.dll", @"Data Source=/Program Files/sqlmobile/test.sdf");
rda.InternetLogin = "***";
rda.InternetPassword = "***";
rda.Push("Test", ConnectString, RdaBatchOption.BatchingOff);
MessageBox.Show("Push OK.");
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
rda.Dispose();
}
 

5 在Pull的單擊事件中添加以下代碼:

string ConnectString = @"Provider=SQLOLEDB; Data Source=***; Initial Catalog=SQLMobile; User ID=sa;Password = ***";
SqlCeRemoteDataAccess rda = null;
try
{
rda = new SqlCeRemoteDataAccess(
@"http://192.168.1.3/SQLMobile/sqlcesa30.dll",
"***",
"***",
@"Data Source=/Program Files/sqlmobile/test.sdf ");
rda.Pull("Table_1", "SELECT * FROM Table_1", ConnectString,
RdaTrackOption.TrackingOnWithIndexes);
MessageBox.Show("Pull OK.");
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
rda.Dispose();
}
 

6將程序下載到移動終端機上,進行測試。

六、測試

打開SQLMobile程序,點擊Pull,出現MessageBox“Pull OK.”即已經將表Test請求到了本地sqlmobile.sdf數據庫中。

在sqlmobile.sdf,添加兩行數據后,點擊Push,出現MessageBox“Pusk OK.”,即已經將新增的兩行數據添加到了SQL Server的Test表中。

七、問題匯總

1 A request to send data to the computer running IIS has failed。For more information, see HRESULT.這些問題請查看你的IIS配置,用戶名或密碼。

2 Failure to Open SQL Server with given connect string, […..]

此問題請查看你的防火墻設置和你的SQL Server用戶名和密碼。

 

3The Local Table Name parameter is already specified. [Table name = Test]

此問題是因為windows CE中已經存在名為Test的表,將此表刪除即可。

4 SQL Mobile encountered problems when opening the database.

此問題是你的sqlmobile.sdf 數據庫密碼錯誤,如果有密碼請更改連接字符串為:Data Source=/Program Files/SQLMobile/sqlmobile.sdf;Password=**

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临西县| 柯坪县| 临猗县| 马山县| 北京市| 吴江市| 那坡县| 上饶市| 梅河口市| 徐州市| 旬邑县| 济南市| 北辰区| 唐山市| 迁西县| 鄯善县| 陇西县| 台中县| 石城县| 湘阴县| 资中县| 通城县| 手机| 常熟市| 府谷县| 错那县| 奉新县| 赞皇县| 建德市| 喜德县| 武邑县| 博兴县| 兴义市| 武冈市| 巴青县| 桑植县| 永清县| 栖霞市| 什邡市| 呼图壁县| 莲花县|