SQL Server 2008En utilisant SMO, toujours pas aller ... ConnectionContext.ExecuteNonQuery (script) ne peut pas comprendre "GO"
En utilisant toutes les références correctes j'ose dire:
System.Data.SqlClient;
Microsoft.SqlServer.Management.Smo;
Microsoft.SqlServer.Management.Common;
Microsoft.SqlServer.Management.Sdk.Sfc;
Tous les compiles sans erreurs.
J'ai dépouillé le code jusqu'à presque zéro pour faciliter le débogage.
Connexion au serveur correct et ainsi de suite.
Executing code suivant:
SqlConnection connection = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(connection));
server.ConnectionContext.ExecuteNonQuery(sqlDBQuery);
Où sqlDBQuery
est une chaîne: USE [master] GO ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF GO ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF GO
Mais peu importe ce que "sqlDBQuery" est, je reçois toujours la même erreur, comme
syntaxe incorrecte à proximité de GO
.
J'étais dans la croyance que SMO prendrait soin de cela, quand je regarde mon ConnectionContext
est dit BatchSeparator = « GO »
Si je retire ce GO est un départ ... pour ainsi dire, mais je vraiment besoin savoir pourquoi mon SMO ne fonctionne pas.
Partout où je regarde juste dit « utiliser SMO comme ça et vous êtes hors bien ». Eh bien ... ça ne marche pas pour moi.
Voir ce post par Jon Galloway pour référence: http://weblogs.asp.net/jgalloway/archive/2006/11/07/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00-the-easy-way.aspx
Cordialement
Merci pour la réponse, il est très vrai que "GO" n'est pas SQL mais j'essaie d'utiliser cette solution, et acheter tous les moyens que je ne peux pas comprendre pourquoi cela ne fonctionne pas pour moi. Voir Jon Galloways solution très appréciée: http://weblogs.asp.net/jgalloway/archive/2006/11/07/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-_2D00_-the-easy-way.aspx – tman
Vous êtes sur place là-bas! Trouvé le problème il y a juste une heure! Je reformatais le texte pour l'ancienne solution utilisée (dépouillant le texte des signes d'échappement!) Trouvé lors de l'utilisation StreamReader pour lire le fichier au lieu de comme une ressource (formatage contourné). Oui je suis stupide. Merci pour votre effort, proche d'être une bouée de sauvetage! – tman