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: October 8, 2014 - 8 October, 2014 06:00:42
- The Daily Six Pack: October 7, 2014 - 7 October, 2014 06:00:33
- The Daily Six Pack: October 6, 2014 - 6 October, 2014 06:00:29
- Setting Different Wallpapers For Each Monitor In Windows 8 – Thanks Scott - 6 October, 2014 01:00:51
- The Daily Six Pack: October 2, 2014 - 2 October, 2014 06:00:08