Execute an Oracle sql script

Hi experts,


As newbe to Liquibase I’m struggeling to execute an Oracle sql script generated by a vendor.

It seems that the script has been run, but the liquibase never ends and I don’t have the spool file (c:\a.txt).


Thanks,

Uri


Here is my update.xml file:

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>

    <databaseChangeLog xmlns=“http://www.liquibase.org/xml/ns/dbchangelog/1.9

                       xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance

                       xsi:schemaLocation=“http://www.liquibase.org/xml/ns/dbchangelog/1.9http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd”>

       

I wonder if it is a problem with the sqlplus command not exiting completely but expecting more input.


You aren’t able to reference the sql directly with an tag?

Nathan

Hi Nathan,

 

Thanks for quickly reply.

 

I thought using the tag, but the sql script contains many SQL*Plus set commands and I’ve seen in another question that they are not supported in the Liquibase sql engine.

 

Regarding SQLPlus completely ending. When I invoke it from a cmd it returns the the shell and looking at the Task Manager I cannot see any SQLPlus program running. so I guess it does completely ends but from some reason the Liquibase code doesn’t catch it.

 

I’m using version 3.0.7

 

Thanks,

Uri

I’ll have to do more debugging, it’ll take a little time to get to it though. I created https://liquibase.jira.com/browse/CORE-1621 to track the fix.


Nathan

This is still a critical issue for us.

Is there a reason why this has been closed?

Thanks,

Uri

Hi,


I am not sure if you are currently investigating this issue or not because the Kamran

The reason it is closed is because liquibase is just calling out to the executable and has no control over whether the executable exits or not.   

I tested with the 3.2.1 release (almost released, but should be the same as 3.2.0) with a changeset of:

  1.  
  2.        
  3.            
  4.            
  5.        
  6.    

and an a.sql file of 

  1. select current_timestamp from dual;
  2. /
  3. exit;
  4. /

and it exited correctly for me. You may need to ensure you have a newline after the trailing /

Nathan