2009-03-20 13 views
2

J'ai une application Web qui utilise les dll de SMO (Microsoft Sql Management Objects). Je me demande comment je vais redistribuer les bibliothèques pour une machine distante. Si je comprends bien, ceux-ci viennent avec le serveur SQL ou Sql Express - qui ne se trouve pas sur le serveur web distant (partagé). Demander à l'hôte de les installer est probablement hors de question, alors est-il possible de les charger dynamiquement?Exécution d'un script d'installation SQL avec SMO. Autres solutions requises

Voir ci-dessous ERROR-

Impossible de charger le fichier ou l'assembly 'Microsoft.SqlServer.Smo, Version = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.

Alternativement, si quelqu'un peut fournir une solution de contournement pour l'extrait ci-dessous qui serait également utile. La variable de script est un script d'installation SQL qui a été lu jusqu'à la fin. La bonne chose à ce sujet est la sortie de chacune des chaînes d'exécution à partir de SQL. Je pourrais bien sûr simplement l'exécuter en un seul morceau, mais cela ne fournit aucun retour visuel à l'utilisateur ligne par ligne, que le sql s'exécute bien.

Y at-il une procédure stockée qui pourrait effectuer ce genre de chose? Ou un moyen alternatif d'exécuter un script d'installation sans autorisations complètes.

  Dim connection As New SqlConnection(Me.ConnectionString) 

      connection.Open() 
      connection.Close() 

      Dim server As New Server(New ServerConnection(connection)) 
      server.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteAndCaptureSql 
      Dim commands As StringCollection = server.ConnectionContext.CapturedSql.Text 
      server.ConnectionContext.ExecuteNonQuery(script, ExecutionTypes.ContinueOnError) 





      Dim s As String 
      For Each s In server.ConnectionContext.CapturedSql.Text 
       AppendMessages(s) 
      Next 

Répondre

1

vous pouvez essayer d'utiliser sqlcmd utilty qui vient avec le serveur sql

+0

Pensez que vous avez toujours besoin d'un accès administrateur ... pour un environnement d'hébergement partagé. – Paul

+0

puis regardez dans l'assistant de publication de base de données: http://www.microsoft.com/downloads/details.aspx?familyid=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en –

+0

Doit être une solution autonome, exécutée par un utilisateur non technicien d'une application web. Donc, c'est aussi Merci quand même. – Paul

0

Non, vous ne pouvez pas les charger dynamiquement, et non, vous ne pouvez pas les installer sans autorisations. Désolé à ce sujet, mais pas de dés ici.