要實(shí)現(xiàn)windows mobile上PDA等設(shè)備的遠(yuǎn)程連接數(shù)據(jù)庫項(xiàng)目,需要使用這種大體的框架,通過設(shè)備與webservice連接傳輸數(shù)據(jù),然后再webservice中連接數(shù)據(jù)庫進(jìn)行查詢和更新。
一:首先要配置好sql server 2005相關(guān)的東西:
第一件事,下載它的管理工具 SQL Server Management Studio Express。VS2008安裝程序沒有,需要從MS的網(wǎng)站下載:請猛擊這里
下載安裝后,程序的Microsoft SQL Server 2005程序組會(huì)出現(xiàn)它的快捷方式。
接下來,我們打開它

這個(gè)時(shí)候只有windows登陸模式。
那么我們現(xiàn)在開始來配置sa模式登陸
1. 打開SQL Server的配置管理器,配置SQLEXPRESS 的協(xié)議

注意這三個(gè)協(xié)議要啟用
2.1 配置TCP/IP的屬性之"協(xié)議"

這里的全部偵聽選 否
2.2 配置TCP/IP的屬性之"IP地址"

注意TCP端口地址是 1433
3.配置客戶端協(xié)議

也是開啟這三個(gè)
4. 配置TCP/IP屬性

5.配置完成后重啟SQL Server服務(wù)

6. 測試端口1433

CMD中輸入了netstat -na 命令查看
注意:如果沒有出現(xiàn)1433端口的話。請仔細(xì)核實(shí)之前的操作步驟,另外注意關(guān)閉系統(tǒng)防火墻。
7.SQL Server Management Studio Express 用windows身份驗(yàn)證模式進(jìn)入

在該模式的數(shù)據(jù)庫服務(wù)屬性里面有一項(xiàng)“安全性”,選中圖示。
8.進(jìn)入 安全性---->登錄名----->屬性,修改sa的密碼。

修改完后確認(rèn)退出
9. 再次登陸,這次可以使用SQL Server 身份驗(yàn)證 模式

10. sa登陸完成

注意:有個(gè)步驟的操作容易混淆,如下圖

看看是不是與7 圖中的差不多。我當(dāng)時(shí)按照網(wǎng)上某些轉(zhuǎn)載的文章配置,它寫的是“數(shù)據(jù)庫實(shí)例的屬性”,然后我就找了半天就是沒有安全性這個(gè)選項(xiàng),以至以為是不是弄錯(cuò)數(shù)據(jù)庫版本了。正確的應(yīng)該是數(shù)據(jù)庫服務(wù)器屬性。
二:進(jìn)行項(xiàng)目的創(chuàng)建: 1.可以再vs2008中創(chuàng)建device項(xiàng)目,模擬器就用windows mobile 6 professional emulator,事先要準(zhǔn)備的是配置好模擬器里面的鏈接,可以使用PC的網(wǎng)絡(luò),鏈接方法參見
http://www.survivalescaperooms.com/softjc/42088.html 2.在解決方案中添加webservice,自動(dòng)生成需要鏈接的url,是用的localhost和端口號(hào),在模擬器中運(yùn)行會(huì)報(bào)錯(cuò),需要將localhost改為本機(jī)的內(nèi)網(wǎng)ip
public Service() {
this.Url = "http://192.168.1.102:57534/WebSite1/Service.asmx";
}
端口號(hào)當(dāng)然是系統(tǒng)自動(dòng)生成的端口號(hào)
3.在vs程序中添加web引用,引用創(chuàng)建的webservice。
4.在webservice程序中你需要的地方編寫與sql server連接的代碼:
public string GetName()
{
SqlConnection mycon = new SqlConnection(@"Data Source=localhost/sqlexpress;Initial Catalog=database1;user id=sa;pwd=7promise");//sa賬號(hào)登錄
//SqlConnection mycon = new SqlConnection(@"Data Source=localhost/sqlexpress;Initial Catalog=database1;Integrated Security=True");//windows驗(yàn)證登錄
mycon.Open();
string a = "999999";
SqlCommand cmd = new SqlCommand("insert into table_1(name) values('"+a+"')", mycon);
cmd.ExecuteNonQuery();
mycon.Close();
return "Edward";
}
5.在vs程序中調(diào)用webservice方法:
private void button1_Click(object sender, EventArgs e)
{
localhost.Service a = new SmartDeviceProject6.localhost.Service();
a.GetName();
}
這樣運(yùn)行程序就可以了,切忌不能直接用vs2008寫設(shè)備程序直接連接數(shù)據(jù)庫,也連不上,須通過webservice進(jìn)行管理數(shù)據(jù)庫,但可以在console程序中連接。