我如何从桌面应用程序中的Web服务器上托管的SQL Server数据库中检索数据?

时间:2016-12-06 05:54:00

标签: c# sql wpf winforms web

我有一些Web服务器,它存在于某个Web服务器上。我使用C#.Net制作了一个WPF或Windows窗体桌面应用程序。我想根据最终用户的要求从我的桌面应用程序中的sql server数据库中检索数据。拥有本地PC.Give我有关安全性和访问数据的最佳方法和最佳解决方案。

3 个答案:

答案 0 :(得分:1)

您有2个选项。 1.编写驻留在Web服务器上的业务逻辑层,并与DB通信,以根据来自桌面客户端应用程序的请求提供所需的数据。 2.允许直接访问DB over IP地址并直接从桌面客户端应用程序创建sql连接并访问所需的数据。

出于可伸缩性和安全性原因,建议使用选项#1。

答案 1 :(得分:0)

B / S或C / S与数据访问没有任何关系。您需要做的只是从数据库加载数据并将其解析然后解析到您的组件。您是否想知道如何控制数据库链接或并发性等等?

答案 2 :(得分:0)

如果要在远程计算机上使用ODBC DSN

<pre>
oConn.Open "Provider=MS Remote;" & _
           "Remote Server=http://myServerName;" & _ 
           "Remote Provider=MSDASQL;" & _
           "DSN=AdvWorks;" & _
           "Uid=myUsername;" & _
           "Pwd=myPassword" 
 </pre>

如果要在远程计算机上使用OLE DB提供程序

<pre>
oConn.Open "Provider=MS Remote;" & _ 
           "Remote Server=http://myServerName;" & _
           "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=c:\somepath\mydb.mdb", _
            "admin", ""
 </pre>

如果要在远程计算机上使用OLE DB提供程序

<pre>
oConn.Open "Provider=MS Remote;" & _ 
           "Remote Server=http://myServerName;" & _
           "Handler=MSDFMAP.Handler;" & _
           "Data Source=MyAdvworksConn"
The corresponding entry in the \winnt\Msdfmap.ini file would be:

[connect MyAdvworksConn]
Access = ReadWrite
Connect = "Provider=Microsoft.Jet.OLEDB.4.0;
           Data Source=mydb.mdb;
           User Id=admin; 
           Password="               (put all of this on single line!)
 </pre>

MS Remote - SQL Server 如果要在远程计算机上使用ODBC DSN

<pre>
oConn.Open "Provider=MS Remote;" & _
           "Remote Server=http://myServerName;" & _ 
           "Remote Provider=MSDASQL;" & _
           "DSN=myDatabaseName;" & _
           "Uid=myUsername;" & _
           "Pwd=myPassword" 

If you want to use an OLE DB Provider on the remote machine

oConn.Open "Provider=MS Remote;" & _ 
           "Remote Server=http://myServerName;" & _
           "Remote Provider=SQLOLEDB;" & _
           "Data Source=myServerName;" & _
           "Initial Catalog=myDatabaseName;" & _
           "User ID=myUsername;" & _
           "Password=myPassword"

If you want to use an OLE DB Provider on the remote machine

oConn.Open "Provider=MS Remote;" & _ 
           "Remote Server=http://myServerName;" & _ 
           "Handler=MSDFMAP.Handler;" & _
           "Data Source=MyPubsConn" 
The corresponding entry in the \winnt\Msdfmap.ini file would be:

[connect MyPubsConn]
Access = ReadWrite
Connect = "Provider=SQLOLEDB;
          Data Source=myServerName;
          Initial Catalog=myDatabaseName;
          User ID=myUsername;
          Password=myPassword"       // (put all of this on single line!)
</pre>