簡體   English   中英

如何從桌面應用程序中Web服務器上托管的SQL Server數據庫中檢索數據?

[英]How I Retrieve Data from SQL Server Database hosted on a Web Server in my desktop application?

我有一些Web服務器上存在的SQL Server數據庫。我使用C#.Net創建了WPF或Windows窗體桌面應用程序。我想根據最終用戶在其自己的本地PC上的需求從我的桌面應用程序中的sql server數據庫中檢索數據。給我有關安全性和訪問數據的最佳方法和最佳解決方案。

您有2個選擇。 1.編寫駐留在Web服務器上並與DB通信以基於來自桌面客戶端應用程序的請求來提供所需數據的業務邏輯層。 2.允許直接通過IP地址訪問數據庫,並直接從桌面客戶端應用程序創建您的sql連接並訪問所需的數據。

出於可伸縮性和安全性原因,建議使用選項#1。

B / S或C / S與數據訪問沒有關系。您需要做的只是從數據庫中加載數據,然后將其包裝然后解析到您的組件中。您是否想知道如何控制數據庫鏈接或並發性,以及就像是 ?

如果要在遠程計算機上使用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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM