C# 通过网络从windows ce连接到托管在pc上的sql server数据库

C# 通过网络从windows ce连接到托管在pc上的sql server数据库,c#,sql-server-ce,windows-ce,smart-device,C#,Sql Server Ce,Windows Ce,Smart Device,我有一个安装了WindowsCE5的智能设备。我想写一个c#程序,这样它就可以安装在智能设备上,并可以与外部数据库通信,该数据库是SQL Server标准版或企业版(不是Compact版),托管在PC上。设备和PC之间的通信是通过局域网建立的 因此,我不能使用System.Data.SqlClient名称空间及其类,因为这个名称空间及其类在windows CE中无法识别。我也不能使用System.Data.SqlServerCe命名空间及其类,因为我想连接到外部企业SQL Server数据库,而

我有一个安装了WindowsCE5的智能设备。我想写一个c#程序,这样它就可以安装在智能设备上,并可以与外部数据库通信,该数据库是SQL Server标准版或企业版(不是Compact版),托管在PC上。设备和PC之间的通信是通过局域网建立的

因此,我不能使用
System.Data.SqlClient
名称空间及其类,因为这个名称空间及其类在windows CE中无法识别。我也不能使用
System.Data.SqlServerCe
命名空间及其类,因为我想连接到外部企业SQL Server数据库,而这不是SQL CE数据库


我如何做到这一点?

您可以使用以下方法:

1-在服务器上开发web服务,在其中定义web方法(根据应用程序需要)以处理数据库,例如

[WebMethod]
    public void ExecuteSql(string query)
    {
       SqlCommand cmd  = new SqlCommand();
       cmd.Connection = new SqlConnection("connectionstring");
       cmd.CommandType = CommandType.Text;
       cmd.CommandText = query;
       cmd.Connection.Open();
       cmd.ExecuteScalar();
       cmd.Connection.Close();
    }
2-在windows CE应用程序中引用此web服务

3-然后您可以调用web服务方法,并可以发送和检索数据

注意:web服务处理SQL混合身份验证,而不是windows身份验证