从 Pocket PC 管理 SQL Server2000






4.50/5 (8投票s)
本文演示了如何在 Pocket PC 上实时管理 SQL Server 2000。
引言
我有点疯狂地热衷于使用 .NET CE 编写移动应用程序。本文将介绍如何借助 Web Services,通过 Pocket PC 管理 SQL Server 2000。通过 Web Service,我可以实时管理 SQL Server 2000。
客户端要求。
- 装有 Microsoft Windows CE 的 Pocket PC。
- Microsoft .NET Compact Framework 1.0。
服务器要求。
- Microsoft .NET Framework 1.1。
- MS SQL Server 2000(SP3 或更高版本)。
- IIS 5.0。
背景
有时候我可能远离我的 SQL Server,或者可能正在旅行。那时,我想知道如何从那里控制我的 SQL Server。然后我有了主意,为什么不尝试使用 Pocket PC 呢?当我开始做这个应用程序时,我在从 Pocket PC 连接到远程 SQL Server 时遇到了问题。然后我四处查看,认为 Web Service 可能是正确的解决方案。我使用 Web Service 作为中间层来连接我的 Pocket PC 和 SQL Server。最后,我实现了它。
这是一个开始。在这个版本中,我们可以连接到 SQL Server 并像在 Query Analyzer 中一样处理查询进程。
在未来的版本中,我计划做成类似 Desktop Enterprise Manager 的功能。如果您能帮助我实现这一点,我将不胜感激。
使用代码
将源代码下载为 ZIP 文件。解压缩,您会发现两个名为 _WSSQLsrv2000_ 和 _ControlSQLsrv2000_ 的文件夹。
_WSSQLsrv2000_ 文件夹包含 Web Services,Pocket PC 将使用它们。打开 Internet Information Services Manager (IIS),在 Default Web Site 目录下创建一个虚拟文件夹。将物理文件位置设置为 WSSQLsrv2000 文件夹的路径。为虚拟文件夹设置写入权限。
在此处找到创建虚拟文件夹的详细信息:这里。
_ControlSQLsrv2000_ 文件夹包含 Windows CE 应用程序。您可以在模拟器中编译和执行它,或者将其部署到您的 Pocket PC。
当您执行 Pocket PC 应用程序时,系统会提示您输入要连接的 SQL Server 详细信息。
当您单击“连接”时,将执行以下代码。
try { UpdateStatus("Connecting to the database..."); oLoginInfo.sServer = txtServerName.Text; oLoginInfo.sLoginName = txtLoginName.Text; oLoginInfo.sPassword = txtPassword.Text; oLoginInfo.sDatabase = ""; ConnectDB oConDb = new ConnectDB(); if (oConDb.fnConnect(txtServerName.Text ,txtLoginName.Text ,txtPassword.Text)) { UpdateStatus("Connected..."); frmMain ofrmMain = new frmMain(); ofrmMain.FillTreeView(oLoginInfo); ofrmMain.Show(); this.Hide(); } else { UpdateStatus("Not Connected..."); .....
将执行 Web Service 中的以下代码。
[WebMethod] public bool fnConnect(string sDataSource, string sUserid, string sPassword) { //To check the connection status with given details oLoginInfo.sServer = sDataSource; oLoginInfo.sLoginName = sUserid; oLoginInfo.sPassword = sPassword; oLoginInfo.sDatabase = ""; if (oCon.fnConnectStatus(oLoginInfo)) { //Save the details if the connection status is true for further manupulation SetDBConfigSettings(sDataSource,sUserid,sPassword); return true; } else { //Connection failed in various reasons return false; } }
_ConnectDB_ 是 Web Service 中编写的一个类。在这里,我们创建该类的对象并调用其 Web 方法 _fnConnect()_。当调用此函数时,Web Services 会接收请求并连接到 SQL Server。连接成功后,应用程序将显示服务器详细信息。
我们可以通过两种方式填充数据库。
- 选择数据库,长按几秒钟,会弹出一个菜单,其中有两个选项:刷新和查询分析器。选择“刷新”。
- 从主菜单中选择数据库,然后选择“文件”->“刷新”。
选择刷新选项后,将列出所有数据库。选择您想要操作的数据库,然后根据上述两种方法选择“查询分析器”选项。选择后,您将被重定向到另一个屏幕。
主菜单详细信息
- 刷新 – 重新加载服务器下的所有数据库。
- 查询分析器 – 选择“数据库”目录下的特定数据库,然后通过选择此选项进行查询操作。
- 重新登录 – 退出当前服务器并登录到不同的服务器。
- 退出 – 退出并关闭应用程序。
在文本框中输入您要执行的查询。例如,输入
Select * from authors
选择要执行的语句。然后点击执行语句。结果将显示在网格中。
结果将像这样显示
关注点
当您在本地 PC 上部署 Web Service 时,您需要将 _WSSQLsrv2000_ 文件夹下的 _reference.cs_ 中的 URL 从 _https://_ 更改为 _http://<ipaddress>_。否则,Pocket PC 将无法使用该服务。
您可以在此处找到我的一些文章:这里。
历史
初始版本 0.1.0