SQL and sending emails with Powershell

Run SQL Command

Invoke-Sqlcmd -Query "SELECT COUNT(*) AS Count FROM Table" -ConnectionString "YourConnectionString"

Invoke commands in a script file and save the output in a text file

Invoke-Sqlcmd -InputFile "C:\ScriptFolder\TestSqlCmd.sql" | Out-File -FilePath "C:\ScriptFolder\TestSqlCmd.rpt"

Invoke sql script and write the results into CSV file.

Invoke-Sqlcmd -InputFile "C:\Users\Mehmet\Desktop\Users.sql" -ConnectionString "connection-string" | export-csv "C:\Users\Mehmet\Desktop\SqlResults.csv" 

Invoke sql script and write the results into JSON file.

Invoke-Sqlcmd -InputFile "C:\Users\Mehmet\Desktop\Users.sql" -ConnectionString "connection-string" | ConvertTo-Json | export-csv "C:\Users\Mehmet\Desktop\SqlResults.csv" 

Invoke a script and pass in variable values from a string

C:\> $StringArray = "MYVAR1='String1'", "MYVAR2='String2'"
C:\> Invoke-Sqlcmd -Query "SELECT `$(MYVAR1) AS Var1, `$(MYVAR2) AS Var2" -Variable $StringArray

Send Mail

$PSEmailServer = "smtp-mail-server"
$mypassword = ConvertTo-SecureString "your-password" -AsPlainText -Force
$mycredential = New-Object System.Management.Automation.PSCredential ("your-username", $secpasswd)

Send-MailMessage -From "from@mehmet.es" -To "to@mehmet.es" -Subject "Test email" -Body "This is a test email" -Credential $mycredential

A scenario: Retrieve data from a database and send it as a CSV file.

$CsvFileName = "./Users.csv"
$SqlScriptFile = "Users.sql"
$ConnectionString = "your-connection-string"
$SmtpAddress = "your-smtp"
$UserName = "username"
$Password = "password"
$FromEmail = "from"
$ToEmail = "to"
$EmailSubject = "your-subject"
$EmailBody = "hi there"

$PSEmailServer = $SmtpAddress
$mypassword = ConvertTo-SecureString $Password -AsPlainText -Force
$mycredential = New-Object System.Management.Automation.PSCredential ($UserName, $mypassword)

# Run sql command and create the file
Invoke-Sqlcmd -InputFile $SqlScriptFile  -ConnectionString $ConnectionString  | export-csv $CsvFileName 

# Send the file 
Send-MailMessage -From $FromEmail -To $ToEmail -Subject $EmailSubject -Body $EmailBody -Credential $mycredential -Attachments $CsvFileName

# Remove the file
Remove-Item $CsvFileName

"DONE!"

Note: Invoke-Sqlcmd does not work on Azure WebJobs, it is not installed.

#powershell #powershell-send-email #powershell-sql-commands #powershell-sql-to-csv

Advertisements

Whenever you publish a webjob,…

Whenever you publish a webjob, it is located under the App_Data/jobs/ {triggered or scheduled} of your App Service …
Hence, you can publish the webjobs via FTP or directly from vstudio. If you do so, settings.jobs file need to be created manually.

#azure #webjobs

The 7 Steps of Machine Learning

Machine learning simply Yufeng explains…

Visit the whole playlist too: https://www.youtube.com/playlist?list=PLIivdWyY5sqJxnwJhe3etaK7utrBiPBQ2

#machinelearning

OpenCV 3.4.1 with Visual Studio 2017

  1. Download the prebuilt libraries and extract it (https://opencv.org/releases.html)
  2. Create a Visual C++ Console Project by using Visual Studio 2017
  3. Open the project properties by right-clicking the project and clicking Properties
  4. Select x64 from Platform
  5. Under C/C++ go to General > Additional Include Directories, Edit and add directory: YOUR_OPENCV_FOLDER\build\include
  6. Under Linker go to General > Additional Library Directories, Edit and add the directory: YOUR_OPENCV_FOLDER\build\x64\vc15\lib
  7. Under Linker go to Input, Aditional Dependencies add the name of the lib file opencv_world341d.lib which is under the folder build\x64\vc15\lib
  8. Write the code to read an image and display it
  9. Build the project
  10. In the directory of your solution, there is a folder named x64 and sub-folder Debug. Put your image in that folder and run yourProject.exe that you see in the same folder.

Read an image and display it.

include "stdafx.h"
include <opencv2/core/core.hpp>
include <opencv2/highgui/highgui.hpp>
include <iostream>
using namespace cv; using namespace std;

int main(int argc, char** argv) {

Mat image;

image = imread("MehmetImage.jpg", IMREAD_COLOR);

if (!image.data) // Check for invalid input
{
    cout << "Could not open or find the image" << std::endl;
    return -1;
}

namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
imshow("Display window", image); // Show our image inside it.

waitKey(0); // Wait for a keystroke in the window
return 0;
}

#opencv #opencvwithvisualstudio2018 #computervision

Microsoft Build 2018

So many videos and not enough time for all, here is Build 2018 https://channel9.msdn.com/Events/Build/2018
I will share the ones I watch and note them here.
#build2018

O(1): random access to an…

O(1): random access to an element in a collection, dependent on indexing

O(n): list iterations

O(n^2): nested loops on the same collection

O(log n): divide and conquer

O(n log n): iterations that use divide and conquer

O(n!): adding a nested loop for every input you have
Big-o-complexity-chart

Resource: @DynamicWebPaige

#bigo #big-o

Configuration in .NET Core

#netcore #configuration