So to start off, I downloaded the correct AdventureWorks database for my version of SQL from the following CodePlex page.
I attached the database and wrote a short piece of code to execute SQLCMD from C#.
The SQL command I wanted to execute is as follows:
SELECT BusinessEntityID,AccountNumber,Name,PreferredVendorStatus,ActiveFlag,ModifiedDate FROM AdventureWorks2008R2.Purchasing.Vendor WHERE CreditRating >= 3
The command that needs to execute from C# is thus as follows:
SQLCMD -S DIRK-DELL\SQLSERVER -d AdventureWorks2008R2 -U sa -P xxx -Q "SELECT [BusinessEntityID],[AccountNumber],[Name],[PreferredVendorStatus],[ActiveFlag],[ModifiedDate] FROM AdventureWorks2008R2.Purchasing.Vendor WHERE [CreditRating] >= 3 " -s "," -o "c:\temp\VendorResults.csv"
The format is as follows:
SQLCMD -S YourSQLServer -d YourDatabase -U YourUserName -P YourPassword -Q “Your Query” -s “,” -o “C:\Yourfilename.csv”
Running this from the command prompt will create a CSV file at the path you specified. So putting this all together, fire up your Visual Studio and create the following method.
private void RunProcess()
string FileName = “SQLCMD”;
string Arguments = @”-S DIRK-DELL\SQLSERVER -d AdventureWorks2008R2 -U sa -P xxx -Q “”SELECT [BusinessEntityID],[AccountNumber],[Name],[PreferredVendorStatus],[ActiveFlag],[ModifiedDate] FROM AdventureWorks2008R2.Purchasing.Vendor WHERE [CreditRating] >= 3 “” -s “”,”” -o “”c:\temp\VendorResults.csv”””;
ProcessStartInfo proc = new ProcessStartInfo(FileName, Arguments);
proc.UseShellExecute = false;
proc.CreateNoWindow = true;
proc.WindowStyle = ProcessWindowStyle.Hidden;
Process p = new Process();
p.StartInfo = proc;
Running your application creates the CSV file in the path specified. Opening the file, you can see the results.
The uses for this are endless, and can extend the functionality of your applications tremendously with a few lines of simple C# code.
Reference: Pinal Dave
Latest posts by Dirk Strauss (see all)
- The Daily Six Pack: May 29, 2015 - 29 May, 2015 00:16:14
- The Daily Six Pack: May 28, 2015 - 28 May, 2015 00:09:29
- The Daily Six Pack: May 27, 2015 - 27 May, 2015 00:15:16
- MKG Marketing Inc Interview – Discussing Content Promotion - 27 May, 2015 00:05:36
- The Daily Six Pack: May 26, 2015 - 26 May, 2015 00:15:36