2009-10-02 10 views

Répondre

3

Lorsque « Exécuter en tant que script » n'est pas cochée, vous ne pouvez fournir une seule instruction SQL. Les résultats de cette requête seront affichés dans une grille.

Lorsque « Exécuter en tant que script » est cochée, vous pouvez fournir plusieurs instructions SQL, séparées par le mot-clé GO. Dans ce mode, aucun résultat ne sera affiché, juste un message indiquant que la requête a abouti (ou des messages d'erreur si ce n'est pas le cas). C'est le même mode que celui utilisé lors de l'installation d'une extension.

Notez que les déclarations sont complètement séparés par le mot-clé GO, de sorte que vous ne pouvez pas avoir des constructions (comme une transaction) qui enveloppent une déclaration GO, depuis le début et la fin de la construction seront en sessions complètement séparées.

-1

L'option « Exécuter en tant que script » vous permet de coller dans les instructions SQL qui ont des identificateurs spéciaux qui sont remplacés par votre fournisseur de données SQL automatiquement. Ces identificateurs sont définis dans votre fichier web.config dans la section dotnetnuke>data>providers. Par défaut, cette section se présente comme suit:

<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> 

Notez les attributs objectQualifier et databaseOwner? Si vous collez une instruction SQL dans la zone Hôte> SQL contenant {objectQualifer} et/ou {databaseOwner}, ces valeurs seront automatiquement remplacées par les valeurs de ces attributs ci-dessus.

Alors disons que vous collez l'instruction SQL suivante dans cette case avec la case à cocher « Exécuter en tant que script » vérifié:

CREATE TABLE {databaseOwner}[{objectQualifier}Cars] 

En supposant que nous utilisons les valeurs dans l'extrait ci-dessus web.config, SQL déclaration qui sera exécuté sera plutôt:

CREATE TABLE [dbo][Cars] 
+0

Vérification "Exécuter en tant que script" n'affecte pas si '{DatabaseOwner}' et '{}' objectQualifier sont remplacés. Ils ont remplacé indépendamment du fait que l'option soit cochée. C'est un peu déroutant, étant donné que DNN documente ce comportement dans l'infobulle de la case à cocher "Exécuter en tant que script". La case à cocher, cependant, n'a aucun effet sur ce comportement. – bdukes

0

qui signifie que vous utilisez un script pas une seule instruction SQL

Questions connexes