Skip to content

mithrandyr/SimplySql

Repository files navigation

SimplySql

Introduction

Powershell Gallery PowerShell Gallery

Update (2/8/2024): V2 is Released!!!.

Querying SQL (SQL Server, Oracle, PostgreSql, SQLite, & mySql) the PowerShell way: simple commands... powerful opportunities.

SimplySql is a module that provides an intuitive set of cmdlets for talking to databases that abstracts the vendor specifics, allowing you to focus on getting work done.

The basic pattern is to connect to a database, invoke one or more sql statements and then close your database connection. This module provides cmdlets that map to this basic pattern. Each Provider has its own 'Open-*Connection' cmdlet, but the remaining cmdlets are provider agnostic (MSSQL: Open-SqlConnection, Oracle: Open-OracleConnection, SQLite: Open-SQLiteConnection, etc). You can have multiple connections open, just distinguish them through the use of the -ConnectionName parameter on every command (if no ConnectionName is specified, it defaults to 'default').

    Open-*Connection -DataSource "SomeServer" -InitialCatalog "SomeDB"
    $data = Invoke-SqlQuery -query "SELECT * FROM someTable"

    #or using parameters
    $data = Invoke-SqlQuery -query "SELECT * FROM someTable WHERE someCol = @var" -Parameters @{var = 'a value'}
    Close-SqlConnection

See the Wiki for more details

Breaking Changes for 2.0

  • UserName/Password parameters are no longer present on Open-*Connection cmdlets. Instead, provide a PSCredential object.

Status

It has been released to PowerShellGallery. Installation is as simple as

Install-Module SimplySql -Scope CurrentUser

This module requires PowerShell Version 5.0 or greater

Database Providers

Latest Version

2.1.0

  • Updated some packages that had vulnerabilities
  • Updated Provider Packages
  • Added -NotifyAction back in and updated tests to test for this
  • Changed how the /bin/ folder is built, this should create .NET Framework or .NET Core dlls and hopefully fix the MySqlConnector issue with .NET Standard packages.

2.0.4

  • Fixing issue with incorrect query results when querying only some columns of a primary key table

2.0.3

  • Providers updated.
  • Minor changes to -Privilege and -SSLMode (Oracle and MySql/PostGre respectively), changed from ENUM to STRING

2.0.0

  • First release to support Windows PowerShell 5.1, PS Core and PS7.
  • Migrated the base provider class to .Net & all providers
  • Updated to latest versions of providers (that support .NET Standard 2.0)
  • Leveraged Optimized BulkCopy functionality in each provider.

View Version History