2009-10-02 69 views

回答

3

當「運行腳本」未選中時,只能提供單個SQL語句。該查詢的結果將顯示在網格中。

如果選中「以腳本運行」,則可以提供多條SQL語句,由GO關鍵字分隔。在此模式下,不會顯示任何結果,只會顯示一條消息,表明查詢已成功完成(如果沒有,則顯示錯誤消息)。這與安裝擴展時使用的模式相同。

注意,聲明完全GO關鍵字分開,所以你不能有結構(例如交易),即緊裹GO聲明,因爲結構的起點和終點將是完全獨立的會話。

-1

「以腳本運行」選項允許您粘貼具有由您的SQL數據提供程序自動替換的特殊標識符的SQL語句。這些標識符在您的web.config文件的dotnetnuke>data>providers部分中定義。默認情況下,部分將是這樣的:

<data defaultProvider="SqlDataProvider"> 
    <providers> 
     <clear/> 
      <add name="SqlDataProvider" 
       type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" 
       connectionStringName="SiteSqlServer" 
       upgradeConnectionString="" 
       providerPath="~\Providers\DataProviders\SqlDataProvider\" 
       objectQualifier="" 
       databaseOwner="dbo"/> 
    </providers> 
</data> 

通知的objectQualifierdatabaseOwner屬性?如果將SQL語句粘貼到包含{objectQualifer}和/或{databaseOwner}的Host> SQL框中,這些值將自動替換爲上述屬性的值。

所以我們說你粘貼下面的SQL語句與那個盒子「運行方式腳本」複選框選中:

CREATE TABLE {databaseOwner}[{objectQualifier}Cars] 

假設我們正在使用的值在web.config片段上方,則SQL將執行的語句將改爲:

CREATE TABLE [dbo][Cars] 
+0

檢查「運行方式腳本」,不影響是否'{} databaseOwner'和'{objectQualifier}'被替換。無論選項是否被選中,它們都會被替換。這有點令人困惑,因爲DNN在「以腳本運行」複選框的工具提示中記錄了這種行爲。但是,該複選框對此行爲沒有影響。 – bdukes 2009-10-02 18:52:22

0

這意味着你正在運行一個腳本不是一個單一的SQL語句