Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations biv343 on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Trying to create a DB from a Script genereated in SQL Server 2005

Status
Not open for further replies.

dseaver

IS-IT--Management
Jul 13, 2006
467
I created a script that creates a database and all its table in SQL Server 2005 by right-clicking on the db and creating the DB create script and appending to that the script that creates all the tables. When I run it inside of SQL server management studio, the script runs fine and creates the DB. I am trying to run it via a C# program and I get an when creating the DB. I cannot use a SP, so I embed the script in the EXE. Here is the program's code.

Code:
string sqlConnectionString = "Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True";

FileInfo file = new FileInfo("C:\\myscript.sql");

string script = file.OpenText().ReadToEnd();

SqlConnection conn = new SqlConnection(sqlConnectionString);

Server server = new Server(new ServerConnection(conn));

server.ConnectionContext.ExecuteNonQuery(script);

and the beginning of the script
Code:
USE [master]
GO
/****** Object:  Database [NewDatabaseName] ******/
CREATE DATABASE [NewDatabaseName] ON  PRIMARY 
( NAME = N'NewDatabaseName', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\NewDatabaseName.mdf' , SIZE = 35840KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'NewDatabaseName_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\NewDatabaseName_1.ldf' , SIZE = 11200KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'NewDatabaseName', @new_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [NewDatabaseName].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [NewDatabaseName] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [NewDatabaseName] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [NewDatabaseName] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [NewDatabaseName] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [NewDatabaseName] SET ARITHABORT OFF 
GO
ALTER DATABASE [NewDatabaseName] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [NewDatabaseName] SET AUTO_CREATE_STATISTICS ON 
GO
ALTER DATABASE [NewDatabaseName] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [NewDatabaseName] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [NewDatabaseName] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [NewDatabaseName] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [NewDatabaseName] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [NewDatabaseName] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [NewDatabaseName] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [NewDatabaseName] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [NewDatabaseName] SET  DISABLE_BROKER 
GO
ALTER DATABASE [NewDatabaseName] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [NewDatabaseName] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [NewDatabaseName] SET TRUSTWORTHY OFF 
GO
ALTER DATABASE [NewDatabaseName] SET ALLOW_SNAPSHOT_ISOLATION OFF 
GO
ALTER DATABASE [NewDatabaseName] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [NewDatabaseName] SET  READ_WRITE 
GO
ALTER DATABASE [NewDatabaseName] SET RECOVERY SIMPLE 
GO
ALTER DATABASE [NewDatabaseName] SET  MULTI_USER 
GO
ALTER DATABASE [NewDatabaseName] SET PAGE_VERIFY CHECKSUM  
GO
ALTER DATABASE [NewDatabaseName] SET DB_CHAINING OFF 

USE [NewDatabaseName]
GO

and here is the inner-exception on the ExecuteNonQuery line

Code:
Incorrect syntax near ', FILENAME = N'.
Line 3

Why does it work inside of Sql Server, but throw an exception in my program?
 
I found the problem, I was replacing part of the string and accidentally deleting the '
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top