How do I run a sql script(text file) from a c# windows application using SQLDMO

I am trying to create a 'Database Installer', that
a) Creates a database
b) runs a script from a text file

I used the code (in the code section)




I want to know how to run script from my text file(having the sql script)

// Assign a name to database
				nDatabase.Name = strDatabaseName;
				// Assign a name to datafile
				nDBFileData.Name = strDatabaseName;
				nDBFileData.PhysicalName = srv.Registry.SQLDataRoot + "\\DATA\\" + strDatabaseName + "_Data.mdf";
				nDBFileData.PrimaryFile = true;
				nDBFileData.Size = 2;
 
				nDBFileData.FileGrowthType = SQLDMO.SQLDMO_GROWTH_TYPE.SQLDMOGrowth_MB;
				nDBFileData.FileGrowth = 1;
 
				//Add the DBFile object
				nDatabase.FileGroups.Item("PRIMARY").DBFiles.Add(nDBFileData);
 
				// Assign name to Log files
				nLogFile.Name = strDatabaseName + "Log";
				nLogFile.PhysicalName = srv.Registry.SQLDataRoot + "\\DATA\\" + strDatabaseName + "_Log.ldf";
				nLogFile.Size = 2;
				nDatabase.TransactionLog.LogFiles.Add(nLogFile);

Open in new window

vsoftsolAsked:
Who is Participating?
 
Alexandre SimõesConnect With a Mentor Manager / Technology SpecialistCommented:
Hi!

For that propose I usually use the SQLCMD tool:
http://msdn.microsoft.com/en-us/library/ms162773.aspx

Use the -i parameter to pass the input file path you want to execute.

If you don't know how to demand the execution of an exe from withing a C# application you can use the attached code.

Also add the SQLCMD.exe file to the same folder as your application.
System.Diagnostics.Process.Start("SQLCMD.exe", @"-U sa -P P@ssw0rd -S MyServer -i c:\myscript.sql");

Open in new window

0
 
vsoftsolAuthor Commented:
Thank you.Worked.
0
All Courses

From novice to tech pro — start learning today.