65.9K
CodeProject 正在变化。 阅读更多。
Home

从 Pocket PC 管理 SQL Server2000

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (8投票s)

2005年2月19日

CPOL

3分钟阅读

viewsIcon

95180

downloadIcon

409

本文演示了如何在 Pocket PC 上实时管理 SQL Server 2000。

Sample Image - AdminSQLfromPocketPC.jpg

引言

我有点疯狂地热衷于使用 .NET CE 编写移动应用程序。本文将介绍如何借助 Web Services,通过 Pocket PC 管理 SQL Server 2000。通过 Web Service,我可以实时管理 SQL Server 2000。

客户端要求。

  1. 装有 Microsoft Windows CE 的 Pocket PC。
  2. Microsoft .NET Compact Framework 1.0。

服务器要求。

  1. Microsoft .NET Framework 1.1。
  2. MS SQL Server 2000(SP3 或更高版本)。
  3. 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 详细信息。

当您单击“连接”时,将执行以下代码。

Login

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。连接成功后,应用程序将显示服务器详细信息。

我们可以通过两种方式填充数据库。

  1. 选择数据库,长按几秒钟,会弹出一个菜单,其中有两个选项:刷新和查询分析器。选择“刷新”。

    Populate Database 1

  2. 从主菜单中选择数据库,然后选择“文件”->“刷新”。

    Sample screenshot

选择刷新选项后,将列出所有数据库。选择您想要操作的数据库,然后根据上述两种方法选择“查询分析器”选项。选择后,您将被重定向到另一个屏幕。

主菜单详细信息

  1. 刷新 – 重新加载服务器下的所有数据库。
  2. 查询分析器 – 选择“数据库”目录下的特定数据库,然后通过选择此选项进行查询操作。
  3. 重新登录 – 退出当前服务器并登录到不同的服务器。
  4. 退出 – 退出并关闭应用程序。

在文本框中输入您要执行的查询。例如,输入

Select * from authors

选择要执行的语句。然后点击运行执行语句。结果将显示在网格中。

结果将像这样显示

Results

关注点

当您在本地 PC 上部署 Web Service 时,您需要将 _WSSQLsrv2000_ 文件夹下的 _reference.cs_ 中的 URL 从 _https://_ 更改为 _http://<ipaddress>_。否则,Pocket PC 将无法使用该服务。

您可以在此处找到我的一些文章:这里

历史

初始版本 0.1.0

从 Pocket PC 管理 SQL Server2000 - CodeProject - 代码之家
© . All rights reserved.