2015-05-27 119 views
-4

是否可以按如下方式設置SQL服務器?使用SQL Server作爲Web服務器?

  1. 用戶在瀏覽器中
  2. URL連接到SQL服務器的特殊URL和調用存儲過程(或功能)
  3. 存儲過程提供HTML文本結果

無圖片是需要的。我們需要的所有東西都可以嵌入到一個HTML中。

編輯:

這個問題的核心思想是去沒有一個單獨的網絡服務器。但是,我不想用SQL服務器重新創建一個完整的Web服務器。我的主要想法只是用戶可以直接從SQL服務器獲取HTML報告,而不需要爲此採取所有的麻煩並安裝專用的Web服務器。

從技術上講,我的問題的核心是如果存在一種特殊類型的URL可以直接調用存儲過程?或者,如果您可以通過偵聽某些特殊的URL調用來設置SQL服務器?

編輯2:

可能,如果SQL Server可以在內部託管是一種 「迷你Web服務器」 的,可能也有幫助。

+0

是的,這是可能的。 「特殊」url是您從Web應用程序中指定的任何URL。該頁面後面的代碼將執行存儲的proc並將結果交付給客戶端。 –

+2

你打算如何從url調用SP? www.url.com?SP=sp_execute+123+abc? – artm

+0

@SeanLange我認爲他正在尋找一種不需要Web應用程序或Web服務器的解決方案。見他的第2步。 –

回答

8

一般來說,沒有網絡服務器是不可能的。

雖然可以從存儲過程輸出一些html,但SQL服務器本身缺乏監聽http請求併產生http響應的能力。

事實上,處理http請求/響應是web服務器打算做的 - 因此沒有任何理由讓sql server來處理這個問題。

+0

主要是,我的想法是用戶可以直接從SQL服務器提取HTML報告,而無需安裝Web服務器。因此,我的問題是,是否存在一種直接調用存儲過程的特殊URL。 –

+1

@Giosco,你可以嘗試使用SQL Server Reporting Services,正如Giorgi Nakeuri所建議的那樣。它是SQL Server組件之一,它擁有自己的內置web服務器。但請記住 - SSRS對您可以使用的html標籤提供非常有限的支持。 –

+1

@Giosco或者 - 您可以創建一些小應用程序,並將其註冊爲某個URI模式的處理程序,例如「your_UI_Type:// resourse?parameters」。在這種情況下,當你點擊這樣一個鏈接時,它將被Windows處理,請求將被傳遞給這個應用程序 - 然後在這個應用程序中,你可以以通常的方式連接到SQL Server,請求數據並以某種方式顯示給用戶或做任何你需要的。但在這種情況下,這種應用程序必須在所有客戶端計算機上註冊爲URI處理程序才能使用此方法。 –

4

在SQL Server 2005中,類似這樣的事情可以通過特殊的Web端點來實現。這是非常不安全的,並且該功能在SQL Server的更高版本中已棄用。

對於當前版本的SQL Server,您將需要一些Web服務器和一些中間件(asp/asp.net/php/node.js),它們將代表客戶端進行連接。作爲替代方案,您可以使用SSRS(報告服務),它使用IIS作爲Web服務器來運行您的站點。

+2

fyi,自2008R2以來我相信SSRS使用自己的網站主機而不是IIS :) –

+0

@NeilP啊哈,但這很有趣。一個「自我站點主機」可能是我正在尋找的方向。 –

+0

@Giosco出於興趣,使用IIS託管應用程序對您有什麼好處? –

2

隨着SSRS

  1. 用戶進入特殊URL在瀏覽器

進入類似http://127.0.0.1/Reports/Pages/Report.aspx?ItemPath=%2fsome%2fname`

  • URL連接到SQL服務器並調用Sto紅色程序(或功能)
  • 報告連接到數據庫,得到的結果。

  • 存儲過程提供HTML文本作爲結果
  • 存儲過程返回純結果集。但是您可以生成MHTML格式的報告。

    相關問題