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

這個時候只有windows登陸模式。
那么我們現在開始來配置sa模式登陸
1. 打開SQL Server的配置管理器,配置SQLEXPRESS 的協議

注意這三個協議要啟用
2.1 配置TCP/IP的屬性之"協議"

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

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

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

5.配置完成后重啟SQL Server服務

6. 測試端口1433

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

在該模式的數據庫服務屬性里面有一項“安全性”,選中圖示。
8.進入 安全性---->登錄名----->屬性,修改sa的密碼。

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

10. sa登陸完成

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

看看是不是與7 圖中的差不多。我當時按照網上某些轉載的文章配置,它寫的是“數據庫實例的屬性”,然后我就找了半天就是沒有安全性這個選項,以至以為是不是弄錯數據庫版本了。正確的應該是數據庫服務器屬性。
二:進行項目的創建:
1.可以再vs2008中創建device項目,模擬器就用windows mobile 6 professional emulator,事先要準備的是配置好模擬器里面的鏈接,可以使用PC的網絡,鏈接方法參見http://www.5lwq4hdr.cn/softjc/42088.html
2.在解決方案中添加webservice,自動生成需要鏈接的url,是用的localhost和端口號,在模擬器中運行會報錯,需要將localhost改為本機的內網ip
public Service() {
this.Url = "http://192.168.1.102:57534/WebSite1/Service.asmx";
}
端口號當然是系統自動生成的端口號
3.在vs程序中添加web引用,引用創建的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賬號登錄
//SqlConnection mycon = new SqlConnection(@"Data Source=localhost/sqlexpress;Initial Catalog=database1;Integrated Security=True");//windows驗證登錄
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程序中調用webservice方法:
private void button1_Click(object sender, EventArgs e)
{
localhost.Service a = new SmartDeviceProject6.localhost.Service();
a.GetName();
}
這樣運行程序就可以了,切忌不能直接用vs2008寫設備程序直接連接數據庫,也連不上,須通過webservice進行管理數據庫,但可以在console程序中連接。