This program converts SQL Server stored procedures to PostgreSQL compatible stored procedures. The converted procedures will need additional manual adjustments to become usable with Postgres.
SQLServer_Stored_Procedure_Converter is a console application, and must be run from the Windows command prompt.
SQLServer_Stored_Procedure_Converter.exe
/I:InputFilePath
/O:OutputFilePath
[/Schema:SchemaName]
[/Map:NameMapFile.txt]
[/SkipList:StoredProcedureSkipiList]
[/SnakeCase:False]
[/V]
[/ParamFile:ParamFileName.conf] [/CreateParamFile]
The input file should be a SQL text file with CREATE PROCEDURE statements
Optionally use /O
to specify the output file path
Use /Schema
to specify schema name prefix procedure names with
The /Map
file is is a tab-delimited text file with five columns
- The Map file matches the format of the merged NameMap file created by the PgSQL View Creator Helper (https://github.com/PNNL-Comp-Mass-Spec/PgSQL-View-Creator-Helper)
- It also matches the file created by sqlserver2pgsql (https://github.com/PNNL-Comp-Mass-Spec/sqlserver2pgsql)
- Example data:
SourceTable | SourceName | Schema | NewTable | NewName |
---|---|---|---|---|
T_Log_Entries | Entry_ID | mc | t_log_entries | entry_id |
T_Log_Entries | posted_by | mc | t_log_entries | posted_by |
T_Log_Entries | posting_time | mc | t_log_entries | posting_time |
T_Log_Entries | type | mc | t_log_entries | type |
T_Log_Entries | message | mc | t_log_entries | message |
T_Log_Entries | Entered_By | mc | t_log_entries | entered_by |
T_Mgrs | m_id | mc | t_mgrs | mgr_id |
T_Mgrs | m_name | mc | t_mgrs | mgr_name |
T_Mgrs | mgr_type_id | mc | t_mgrs | mgr_type_id |
T_Mgrs | param_value_changed | mc | t_mgrs | param_value_changed |
T_Mgrs | control_from_website | mc | t_mgrs | control_from_website |
T_Mgrs | comment | mc | t_mgrs | comment |
T_Mgrs | M_TypeID | mc | t_mgrs | mgr_type_id |
T_Mgrs | M_ParmValueChanged | mc | t_mgrs | param_value_changed |
T_Mgrs | M_ControlFromWebsite | mc | t_mgrs | control_from_website |
T_Mgrs | M_Comment | mc | t_mgrs | comment |
Use /SkipList
or /StoredProceduresToSkip
to define a comma separated list of stored procedures to skip while parsing the input file
Use /SnakeCase:False
to disable converting stored procedure names from CamelCase
to snake_case
Use /V
to enable verbose mode, displaying each updated code block
The processing options can be specified in a parameter file using /ParamFile:Options.conf
or /Conf:Options.conf
- Define options using the format
ArgumentName=Value
- Lines starting with
#
or;
will be treated as comments - Additional arguments on the command line can supplement or override the arguments in the parameter file
Use /CreateParamFile
to create an example parameter file
- By default, the example parameter file content is shown at the console
- To create a file named Options.conf, use
/CreateParamFile:Options.conf
Written by Matthew Monroe for the Department of Energy (PNNL, Richland, WA)
E-mail: matthew.monroe@pnnl.gov or proteomics@pnnl.gov
Website: https://github.com/PNNL-Comp-Mass-Spec/ or https://www.pnnl.gov/integrative-omics
Source code: https://github.com/PNNL-Comp-Mass-Spec/SQLServer-Stored-Procedure-Converter
Licensed under the 2-Clause BSD License; you may not use this program except in compliance with the License. You may obtain a copy of the License at https://opensource.org/licenses/BSD-2-Clause
Copyright 2020 Battelle Memorial Institute