DataJuggler.SQLSnapshot
1.0.11
See the version list below for details.
dotnet add package DataJuggler.SQLSnapshot --version 1.0.11
NuGet\Install-Package DataJuggler.SQLSnapshot -Version 1.0.11
<PackageReference Include="DataJuggler.SQLSnapshot" Version="1.0.11" />
paket add DataJuggler.SQLSnapshot --version 1.0.11
#r "nuget: DataJuggler.SQLSnapshot, 1.0.11"
// Install DataJuggler.SQLSnapshot as a Cake Addin #addin nuget:?package=DataJuggler.SQLSnapshot&version=1.0.11 // Install DataJuggler.SQLSnapshot as a Cake Tool #tool nuget:?package=DataJuggler.SQLSnapshot&version=1.0.11
SQLSnapshot
DataJuggler.SQLSnapshot allows you to export a snapshot of a SQL Server database including all data rows to Excel with a few lines of code (could be written as one if we were charged by the line).
Optional: Pass in a list of table names you wish to exclude from the export.
Video<br> https://youtu.be/dOA_8EJ_xWA
<img src=https://github.com/DataJuggler/SharedRepo/blob/master/Shared/Images/SQLSnapshot.png width=540 height=360>
Pass in a connectionstring and a path to save.
using DataJuggler.SQLSnapshot;
// Set a connectionstring - make sure to include Encrypt=False as shown below
string connectionString = @"Data Source=ServerName\SQLExpress;Initial Catalog=DataJuggler;Integrated Security=True;Encrypt=False;";
// Set the export path
string exportPath = @"c:\Temp\DataJugglerExport.xlsx";
// export the result (one line of code. Is this useful, let me know by starring this project please).
SQLExportResult result = SQLExcelBridge.ExportSnapshot(connectionString, exportPath);
The file name for the Excel file will be saved and combined with a partial guid, so it will be unique in a folder.
This project combines two Nuget packages of mine:
- DataJuggler.Net7 - Which reads the database schema
- DataJuggler.Excelerate - Writes to Excel
Known Issues:
None at this time.
Fixed issues
- (Fixed in 1.0.8, Excelerate version 7.2.9) Exclude Tables bug has been fixed.
- (Fixed in 1.0.9 Excelerate version 7.2.10) Fixed format date columns as dates.
Future updates and features may include:
- Ability to only write changes since last snapshot
- Export database schema for tables and fields
- Consolidate data to update a Test or Dev server with production data
- I am looking at creating a callback delegate so client apps can create a progress bar or display current status or operation.
Completed Features
- Pass in a list of tables to exclude (completed in version 7.2.9)
The reason I created this project is SQL Backups are great for data protection, however this requires restoring the entire database to lookup values. There are also times I need to discover when data changed to help determine when a new bug was introduced.
If you have any problems, please create an issue and I welcome any feedback as to if you think this project is useful or ways it can be improved. I am considering building a Windows Service to create a commercial product out of this with more robust features.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- DataJuggler.Excelerate (>= 7.2.12)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
8.0.0 | 261 | 11/17/2023 |
1.1.2 | 160 | 8/14/2023 |
1.1.1 | 146 | 7/24/2023 |
1.1.0 | 140 | 7/17/2023 |
1.0.11 | 167 | 4/10/2023 |
1.0.10 | 176 | 4/10/2023 |
1.0.9 | 181 | 4/5/2023 |
1.0.8 | 188 | 4/5/2023 |
1.0.7 | 192 | 4/2/2023 |
1.0.6 | 197 | 4/2/2023 |
1.0.5 | 194 | 4/2/2023 |
1.0.4 | 204 | 4/1/2023 |
1.0.2 | 211 | 3/28/2023 |
1.0.1 | 189 | 3/28/2023 |
1.0.0 | 214 | 3/28/2023 |
This project combines two of my Nuget packages, DataJuggler.Net7 for database schema reading
and DataJuggler.Excelerate for Excel exporting.
Here is an 18 minute video to show 3 lines of code. Will remake a new video soon.
https://youtu.be/dOA_8EJ_xWA
4.11.2023: I added a new delegate ProgressStatusCallback to DataJuggler.Net7 that can be passed into the
ExportSnapshot method to receive callbacks during long operations.
Update 4.2.2023 B
v1.0.7: I moved the List<string> ignoreTables parameter to be the first optional parameter.
I figure now is the time to make breaking changes, and it makes the most sense.
Updates 4.2.2023 v1.0.5:
DataJuggler.Excelerate was updated and I am attempting to set date columns as Dates in Excel.
Hopefull this works. Will update this once I test.