我有一些Web服务器,它存在于某个Web服务器上。我使用C#.Net制作了一个WPF或Windows窗体桌面应用程序。我想根据最终用户的要求从我的桌面应用程序中的sql server数据库中检索数据。拥有本地PC.Give我有关安全性和访问数据的最佳方法和最佳解决方案。
答案 0 :(得分:1)
您有2个选项。 1.编写驻留在Web服务器上的业务逻辑层,并与DB通信,以根据来自桌面客户端应用程序的请求提供所需的数据。 2.允许直接访问DB over IP地址并直接从桌面客户端应用程序创建sql连接并访问所需的数据。
出于可伸缩性和安全性原因,建议使用选项#1。
答案 1 :(得分:0)
答案 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>