Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 36129
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T14:20:41+00:00 2026-05-10T14:20:41+00:00

I need to execute a large set of SQL statements (creating a bunch of

  • 0

I need to execute a large set of SQL statements (creating a bunch of tables, views and stored procedures) from within a C# program.

These statements need to be separated by GO statements, but SqlCommand.ExecuteNonQuery() does not like GO statements. My solution, which I suppose I’ll post for reference, was to split the SQL string on GO lines, and execute each batch separately.

Is there an easier/better way?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T14:20:42+00:00Added an answer on May 10, 2026 at 2:20 pm

    Use SQL Server Management Objects (SMO) which understands GO separators. See my blog post here: http://weblogs.asp.net/jongalloway/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00-the-easy-way

    Sample code:

    public static void Main()     {           string scriptDirectory = 'c:\\temp\\sqltest\\';   string sqlConnectionString = 'Integrated Security=SSPI;' +   'Persist Security Info=True;Initial Catalog=Northwind;Data Source=(local)';   DirectoryInfo di = new DirectoryInfo(scriptDirectory);   FileInfo[] rgFiles = di.GetFiles('*.sql');   foreach (FileInfo fi in rgFiles)   {         FileInfo fileInfo = new FileInfo(fi.FullName);         string script = fileInfo.OpenText().ReadToEnd();         using (SqlConnection connection = new SqlConnection(sqlConnectionString))         {             Server server = new Server(new ServerConnection(connection));             server.ConnectionContext.ExecuteNonQuery(script);         }    } } 

    If that won’t work for you, see Phil Haack’s library which handles that: http://haacked.com/archive/2007/11/04/a-library-for-executing-sql-scripts-with-go-separators-and.aspx

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to execute some large file-based .sql scripts (to create/drop databases and tables
I need to execute a PowerShell script from within C#. The script needs commandline
I need to transfer a large number of rows from a SQL Server database
I need to pull a large amount of data from various tables across a
I need a tool to execute XSLTs against very large XML files. To be
I need to execute MDX query from command line (MS AS 2005). I have
I need to execute a http web request from Plesk's Task Scheduler (using shared
I have a bunch of insert, update, and delete operations I need to execute
I have a large SQL script that creates my database (multiple tables, triggers, and
I need to execute a directory copy upon a user action, but the directories

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.