Advertisement
Guest User

Untitled

a guest
Jan 19th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <table>
  3. <column>ID</column>
  4. <datatype>COUNTER</datatype>
  5. <column>FirstName</column>
  6. <datatype>VARCHAR</datatype>
  7. <column>LastName</column>
  8. <datatype>VARCHAR</datatype>
  9. <column>Salary</column>
  10. <datatype>CURRENCY</datatype>
  11. <column>SSN</column>
  12. <datatype>INTEGER</datatype>
  13. </table>
  14.  
  15. <!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
  16. <etl>
  17. <connection id="db1" url="jdbc:odbc:TestDB" driver="scriptella.driver.odbc.Driver" user="Dzmitry" password="a"/>
  18.  
  19. <connection id="db2" url="jdbc:odbc:PostgreSQLconnector" driver="scriptella.driver.odbc.Driver" classpath="postgresql.jar" user="Dzmitry" password="a"/>
  20.  
  21. <connection id="script" driver="script"/>
  22. <connection id="java" driver="scriptella.driver.janino.Driver"/>
  23. <connection id="log" driver="text"/>
  24.  
  25. <!-- doesn't work
  26.  
  27. <script connection-id="db2" new-tx="true" if="create_databases">
  28. CREATE DATABASE testDB;
  29. </script>
  30.  
  31.  
  32. -->
  33.  
  34.  
  35. <query connection-id="db1">
  36. SELECT * FROM GenInfo;
  37.  
  38. <script connection-id="script">
  39. java.lang.System.out.println("Processing row number " + rownum + " ");
  40. </script>
  41. <script connection-id="log">
  42. ${FirstName}, ${LastName}, ${Salary}, ${SSN}
  43. </script>
  44. </query>
  45.  
  46. <query connection-id="java">
  47. import javax.xml.parsers.*;
  48. import javax.xml.xpath.*;
  49. import java.io.*;
  50. import org.w3c.dom.Document;
  51. import org.xml.sax.*;
  52.  
  53. DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
  54. DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
  55.  
  56. File file = new File("tableschema.xml");
  57. Document document = docBuilder.parse(file);
  58.  
  59. XPathFactory xpFactory = XPathFactory.newInstance();
  60. XPath xPath = xpFactory.newXPath();
  61.  
  62. int numberOfColumns = Integer.parseInt(xPath.evaluate("count(/table/column)", document));
  63.  
  64.  
  65. for(int i = 1; i <= numberOfColumns; i++){ // does not take less than sign
  66. System.out.print("Column name " + i + ": " + xPath.evaluate("/table/column[" + i + "]", document));
  67. System.out.println("tData type " + i + ": " + xPath.evaluate("/table/datatype[" + i + "]", document));
  68. }
  69.  
  70. </query>
  71. </etl>
  72.  
  73. driver="scriptella.driver.odbc.Driver"
  74.  
  75. <connection driver="postgresql" url="jdbc:postgresql://localhost:5432/DATABASENAME" user="username" password="password">
  76. </connection>
  77.  
  78. <connection connection-id="db2" driver="postgresql" url="jdbc:postgresql://localhost:5432/DATABASENAME" user="Dzmitry" password="a" classpath="postgresql.jar">
  79. </connection>
  80.  
  81. <script connection-id="db2">
  82. CREATE TABLE distributors (
  83. did integer PRIMARY KEY,
  84. name varchar(40)
  85. );
  86. </script>
  87.  
  88. <!-- Connection for just for creating a database -->
  89. <connection connection-id="db2_init" driver="postgresql" url="jdbc:postgresql://localhost:5432/template1" user="postgres" password="postgres" classpath="postgresql.jar">
  90. </connection>
  91.  
  92. <!-- Connection for DDL and data statements. Needs to be lazy-init=true -->
  93. <connection connection-id="db2_tables" driver="postgresql" lazy-init="true" url="jdbc:postgresql://localhost:5432/testDB" user="Dzmitry" password="a" classpath="postgresql.jar">
  94. </connection>
  95.  
  96. <script connection-id="db2_init" if="create_databases">
  97. CREATE DATABASE testDB;
  98. </script>
  99. <script connection-id="db2_tables" if="create_schema">
  100. CREATE TABLE distributors (
  101. did integer PRIMARY KEY,
  102. name varchar(40)
  103. );
  104. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement