Call Sqlplus from Jenkins

For Jenkins running on Microsoft Windows, to run a sqlplus .sql file, can specify any of these in the Build Command:

1) PowerShell

echo 'Starting PowerShell...'
sqlplus -s myUser/$env:myPassword@myServer:1521/myDatabase '@mySqlFile.sql'
echo 'Completed PowerShell'

2) Execute Windows Batch Command

@echo off
echo Starting Windows batch command...
sqlplus -s myUser/%myPassword%@myServer:1521/myDatabase @mySqlFile.sql
echo Completed Windows batch command

3) Execute shell

set +x
echo Starting Execute shell...
sqlplus -s myUser/$myPassword@myServer:1521/myDatabase @mySqlFile.sql
echo Completed Execute shell

Or to run some sqlplus statements directly without using a separate .sql file:

4) PowerShell

@"
conn myUser/$env:myPassword@(description=(address=(protocol=tcp)(host=myServer1)(port=1521))(address=(protocol=tcp)(host=myServer1)(port=1521))(connect_data=(service_name=myDatabase)))
set serveroutput on pages 9999 lines 140
SELECT 'Now in database and running sql ok' FROM DUAL ;
exit
"@ | sqlplus -s /nolog

5) Execute shell

set +x
echo Starting Execute shell v2...
sqlplus -s /nolog << END_SQL
conn myUser/$myPassword@myServer:1521/myDatabase
set pages 9999 lines 140 serverout on verify off doc off
SELECT 'Now in database and running sql ok' FROM DUAL ;
SELECT
'Lorem ipsum dolor sit amet, consectetur adipisci tempor incidunt ut labore et dolore magna aliqua veniam, quis nostrud exercitation ullamcorpor s commodo consequat. Duis autem vel eum irrure esse molestiae consequat, vel illum dolore eu fugi et iusto odio dignissim qui blandit praesent luptat exceptur sint occaecat cupiditat non provident, deserunt mollit anim id est laborum et dolor fuga distinct. Nam liber tempor cum soluta nobis elige quod maxim placeat facer possim omnis volupt'
|| 'Lorem ipsum dolor sit amet, consectetur adipisci tempor incidunt ut labore et dolore magna aliqua veniam, quis nostrud exercitation ullamcorpor s commodo consequat. Duis autem vel eum irrure esse molestiae consequat, vel illum dolore eu fugi et iusto odio dignissim qui blandit praesent luptat exceptur sint occaecat cupiditat non provident, deserunt mollit anim id est laborum et dolor fuga distinct. Nam liber tempor cum soluta nobis elige quod maxim placeat facer possim omnis volupt'
|| 'Lorem ipsum dolor sit amet, consectetur adipisci tempor incidunt ut labore et dolore magna aliqua veniam, quis nostrud exercitation ullamcorpor s commodo consequat. Duis autem vel eum irrure esse molestiae consequat, vel illum dolore eu fugi et iusto odio dignissim qui blandit praesent luptat exceptur sint occaecat cupiditat non provident, deserunt mollit anim id est laborum et dolor fuga distinct. Nam liber tempor cum soluta nobis elige quod maxim placeat facer possim omnis volupt'
|| 'Lorem ipsum dolor sit amet, consectetur adipisci tempor incidunt ut labore et dolore magna aliqua veniam, quis nostrud exercitation ullamcorpor s commodo consequat. Duis autem vel eum irrure esse molestiae consequat, vel illum dolore eu fugi et iusto odio dignissim qui blandit praesent luptat exceptur sint occaecat cupiditat non provident, deserunt mollit anim id est laborum et dolor fuga distinct. Nam liber tempor cum soluta nobis elige quod maxim placeat facer possim omnis volupt'
|| 'Lorem ipsum dolor sit amet, consectetur adipisci tempor incidunt ut labore et dolore magna aliqua veniam, quis nostrud exercitation ullamcorpor s commodo consequat. Duis autem vel eum irrure esse molestiae consequat, vel illum dolore eu fugi et iusto odio dignissim qui blandit praesent luptat exceptur sint occaecat cupiditat non provident, deserunt mollit anim id est laborum et dolor fuga distinct. Nam liber tempor cum soluta nobis elige quod maxim placeat facer possim omnis volupt'
|| 'Lorem ipsum dolor sit amet, consectetur adipisci tempor incidunt ut labore et dolore magna aliqua veniam, quis nostrud exercitation ullamcorpor s commodo consequat. Duis autem vel eum irrure esse molestiae consequat, vel illum dolore eu fugi et iusto odio dignissim qui blandit praesent luptat exceptur sint occaecat cupiditat non provident, deserunt mollit anim id est laborum et dolor fuga distinct. Nam liber tempor cum soluta nobis elige quod maxim placeat facer possim omnis volupt'
AS longCol1
FROM DUAL
;
exit
END_SQL
echo Completed Execute shell v2
May 29, 2023

Leave a Reply

Your email address will not be published. Required fields are marked *