SQL Workbench/J Git Repository https://www.sql-workbench.eu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

788 lines
45 KiB

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE xml [
  3. <!ENTITY space "&#32;">
  4. <!ENTITY nbsp "&#160;">
  5. <!ENTITY raquo "&#187;">
  6. <!ENTITY copy "&#169;">
  7. <!ENTITY reg "&#174;">
  8. ]>
  9. <site name="SQL Workbench/J">
  10. <page name="index" title="Home" toc="main">
  11. <title>SQL Workbench/J Homepage</title>
  12. <subtitle>The free DBMS-independent SQL Tool</subtitle>
  13. <content>
  14. <not-mysql/>
  15. <p>
  16. SQL Workbench/J is a free, DBMS-independent, cross-platform SQL query tool. It is written in Java and
  17. should run on any operating system that provides a Java Runtime Environment.
  18. </p>
  19. <p>
  20. Its main focus is on running SQL scripts (either interactively or as a batch) and export/import features.
  21. Graphical query building or more advanced DBA tasks are not the focus and are not planned
  22. </p>
  23. <p>
  24. Current stable version: <span style="font-weight:bold"><a href="downloads.html">Build <build-number/> (<build-date/>)</a></span>
  25. <dev-build-info/>
  26. </p>
  27. <p>Features:</p>
  28. <ul>
  29. <li>Edit, insert and delete data directly in the <image-link title="Main window" name="MainWindow.png">query result</image-link> (<image-link title="Editing data in result set" name="EditData.png">Screenshot</image-link>)</li>
  30. <li>Powerful <a href="manual/command-export.html">export command</a> to write text files (aka "CSV"), XML, HTML or SQL (including BLOB data).<br/>
  31. All user tables can be exported into a directory with a single command. Export files can be compressed "on-the-fly".</li>
  32. <li>Powerful text, XML and spreadsheet <a href="manual/command-import.html">import</a>. A set of files (including compressed files) can be imported from a directory with a single command.
  33. Foreign key constraints are detected to insert the data in the correct order</li>
  34. <li><a href="manual/compare-commands.html#command-schema-diff">Compare</a> two database schemas for differences. The XML output can be transformed into the approriate SQL ALTER statements using <a href="xslt.html">XSLT</a></li>
  35. <li><a href="manual/compare-commands.html#command-data-diff">Compare the data</a> of two database and generate the necessary SQL statements to migrate one to the other.</li>
  36. <li>Supports running SQL scripts in <a href="manual/using-scripting.html">batch mode</a></li>
  37. <li>Supports running in <a href="manual/console-mode.html">console mode</a> (<image-link title="Console mode" name="console.png">Screenshot</image-link>)</li>
  38. <li>Search text in procedure, view and other sources using a <a href="manual/wb-commands.html#command-search-source">SQL command</a> or a GUI ( <image-link title="Search object source" name="objectsearcher.png">Screenshot 1</image-link> <image-link title="Using WbGrepSource" name="wbgrepsource.png">Screenshot 2</image-link>)</li>
  39. <li>Search for data across all columns in all tables using a <a href="manual/wb-commands.html#command-search-data">SQL command</a> or a GUI (<image-link title="Search table data" name="SearchTables.png">Screenshot 1</image-link> <image-link title="Using WbGrepData" name="wbgrepdata.png">Screenshot 2</image-link>)</li>
  40. <li>Reformatting (Pretty-Print) of SQL Statements (<image-link title="SQL Formatter" name="SqlFormat.png">Screenshot</image-link>)</li>
  41. <li>Select rows from related tables according to their foreign key definitions (<image-link title="Select child rows" name="child_rows.png">Screenshot 1</image-link> <image-link title="Select parent rows" name="parent_rows.png">Screenshot 2</image-link>).<br/></li>
  42. <li>Tooltips for INSERT statements to show the corresponding value or column (<image-link title="INSERT Hint" name="insert_hint.png">Screenshot</image-link>) </li>
  43. <li>Copy data directly between to database servers using a <a href="manual/command-copy.html">SQL command</a> or a GUI (<image-link title="Data Pumper" name="DataPumper.png">Screenshot</image-link>)</li>
  44. <li><a href="manual/using.html#macros">Macros</a> (aka aliases) for frequently used SQL statements</li>
  45. <li>Variable substitution in SQL statements including smart prompting for values (can be combined with macros)</li>
  46. <li>Auto completion for tables and columns in SQL statements (<image-link title="Auto-completion" name="completion.png">Screenshot</image-link>)</li>
  47. <li>Display database objects and their definitions (<image-link name="table_definition.png" title="Table definition">Screenshot</image-link>)</li>
  48. <li>Display table source (<image-link name="TableSource.png" title="SQL source for table definition">Screenshot</image-link>)</li>
  49. <li>Display view, procedure and trigger source code (<image-link title="SQL Source Display" name="ViewSource.png">Screenshot</image-link>)</li>
  50. <li>Display foreign key constraints between tables (<image-link title="Foreign key display" name="FkDisplay.png">Screenshot</image-link>)</li>
  51. <li>Full support for BLOB data in query results, SQL statements, export and import. <a href="blob_example.html">Read more...</a></li>
  52. <li>SQLWorkbench/J is <b>free</b> for <a href="manual/license.html#license-restrictions">almost</a> everyone (<a href="manual/license.html">published under a modified the Apache 2.0 license</a>)</li>
  53. </ul>
  54. </content>
  55. </page>
  56. <page name="blob_example" title="BLOB support" toc="false">
  57. <title>BLOB support inside SQL Workbench/J</title>
  58. <content>
  59. <p style="margin-top:10px">
  60. SQL Workbench/J fully suppports BLOB (and CLOB) columns. BLOB data can be displayed and updated
  61. from within the result of a <tt>SELECT</tt> query.<br/>
  62. <image-link title="Displaying BLOBs" name="BlobDisplay.png">Screenshot showing info dialog</image-link><br/>
  63. <image-link title="Displaying BLOBs" name="BlobDisplay2.png">Screenshot displaying an image</image-link>
  64. </p>
  65. <p style="padding-top:15px;padding-bottom:10px">
  66. SQL Workbench/J also supports direct uploading of BLOB files from the client to the server:
  67. </p>
  68. <p class="programlisting">INSERT INTO person (id,firstname,lastname,photo)
  69. VALUES
  70. (1,'Arthur','Dent',{$blobfile=c:/temp/hitchguide.bmp});</p>
  71. <p style="padding-top:10px">
  72. The extended syntax is also supported for <tt>UPDATE</tt> statements and is independent of
  73. the DBMS. It is only limited by the level of JDBC compliance of the driver.
  74. </p>
  75. <p>
  76. To retrieve the contents of a LOB column for a single row and write the data to a file on the client,
  77. the command <tt><a href="manual/wb-commands.html#command-selectblob">WbSelectBlob</a></tt>
  78. can be used:
  79. <p class="programlisting">WbSelectBlob blob_column
  80. INTO c:/temp/image.bmp
  81. FROM theTable
  82. WHERE id=42;</p>
  83. </p>
  84. <p>
  85. To write LOB data from more than one row, <a href="manual/wb-commands.html#command-export"><tt>WbExport</tt></a> can be used.<br/>
  86. <a href="manual/wb-commands.html#command-import"><tt>WbImport</tt></a> fully supports reading LOB data when
  87. importing text or XML files.
  88. </p>
  89. <p>For more details, please read the <a href="manual/using.html#blob-support">manual</a>.</p>
  90. </content>
  91. </page>
  92. <page name="databases" title="Compatible DBMS" toc="main">
  93. <title>Compatible DBMS</title>
  94. <content>
  95. <not-mysql/>
  96. <p style="margin-top:10px">
  97. SQL Workbench/J mainly uses standard Java/JDBC calls to the database and thus should work against any DBMS that has a JDBC driver. But not all features
  98. might work correctly with unknown databases, especially if the JDBC driver only implements a small subset of the JDBC API.
  99. </p>
  100. <p>SQL Workbench/J has been specifically tested with the following DBMS:</p>
  101. <ul>
  102. <li><a target="_blank" href="https://www.postgresql.org/">PostgreSQL</a> (8.4 or later)<a target="_blank" href="https://jdbc.postgresql.org/download.html">(Download JDBC driver)</a></li>
  103. <li><a target="_blank" href="http://hsqldb.org">HSQLDB</a></li>
  104. <li><a target="_blank" href="https://www.h2database.com">H2 Database Engine</a></li>
  105. <li><a target="_blank" href="https://www.firebirdsql.org">Firebird SQL</a> <a target="_blank" href="http://www.firebirdsql.org/en/jdbc-driver/">(Download JDBC driver)</a></li>
  106. <li><a target="_blank" href="https://db.apache.org/derby/">Apache Derby</a></li>
  107. <li><a target="_blank" href="https://www.oracle.com/database/technologies/index.html">Oracle</a> (10g or later)<a target="_blank" href="http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html">(Download JDBC driver)</a></li>
  108. <li><a target="_blank" href="https://www.microsoft.com/sql">Microsoft SQL Server</a> (<a target="_blank" href="https://github.com/Microsoft/mssql-jdbc">Download JDBC driver</a>)</li>
  109. <li><a target="_blank" href="https://www.ibm.com/software/data/db2/">IBM DB2</a></li>
  110. <li><a target="_blank" href="https://greenplum.org/">Pivotal Greenplum</a></li>
  111. <li><a target="_blank" href="https://www.vertica.com/">HP Vertica</a> (<a target="_blank" href="https://my.vertica.com/download/vertica/client-drivers/">Download JDBC driver)</a></li>
  112. <li><a target="_blank" href="http://www.mysql.com/">MySQL</a> <a target="_blank" href="http://www.mysql.com/products/connector/j">(Download JDBC Driver)</a></li>
  113. </ul>
  114. <p>The following DBMS have been reported to work with SQL Workbench/J but have not been tested</p>
  115. <ul>
  116. <li><a target="_blank" href="https://mariadb.org/">MariaDB</a> <a target="_blank" href="https://downloads.mariadb.org/">(Download JDBC Driver)</a></li>
  117. <li><a target="_blank" href="http://www.cubrid.org/">Cubrid</a></li>
  118. <li><a target="_blank" href="http://www-01.ibm.com/software/data/informix">Informix</a></li>
  119. <li><a target="_blank" href="http://www.ingres.com/">Ingres</a></li>
  120. <li><a target="_blank" href="http://www.sqlite.org/">SQLite</a> (with <a target="_blank" href="https://bitbucket.org/xerial/sqlite-jdbc">SQLiteJDBC</a>)</li>
  121. <li><a target="_blank" href="http://www.teradata.com">Teradata</a> (<a target="_blank" href="http://www.teradata.com/DownloadCenter/Forum158-1.aspx">Download JDBC driver</a>)</li>
  122. </ul>
  123. <p>If you find that not all features (especially in the DbExplorer) work for your DBMS, please feel free to contact me.</p>
  124. </content>
  125. </page>
  126. <page name="screenshots" title="Screenshots" toc="main">
  127. <title>Screenshots</title>
  128. <content>
  129. <h3>Screenshots</h3>
  130. <ul style="margin-top:10px">
  131. <li><image-link title="Main window" name="MainWindow.png" back="screenshots" next="mainwindow_dbtree.png">Main Window</image-link><br/></li>
  132. <li><image-link title="Main window with database tree" name="mainwindow_dbtree.png" back="MainWindow.png" next="multiple_results.png">Main Window with database tree</image-link><br/></li>
  133. <li><image-link title="Multiple results" name="multiple_results.png" back="mainwindow_dbtree.png" next="EditData.png">Multiple Results</image-link><br/></li>
  134. <li><image-link title="Edit data directly in the result" name="EditData.png" back="multiple_results.png" next="form_edit.png">Edit data directly in the result</image-link><br/></li>
  135. <li><image-link title="Edit single row" name="form_edit.png" back="EditData.png" next="Profiles.png">Edit single row</image-link><br/></li>
  136. <li><image-link title="Connection Profile" name="Profiles.png" back="form_edit.png" next="SqlFormat.png">Connection Profile</image-link><br/></li>
  137. <li><image-link title="SQL Formatter" name="SqlFormat.png" back="Profiles.png" next="child_rows.png">SQL Formatter</image-link></li>
  138. <li><image-link title="Select related child rows" name="child_rows.png" back="SqlFormat.png" next="parent_rows.png">Select related child rows</image-link></li>
  139. <li><image-link title="Select parent rows" name="parent_rows.png" back="child_rows.png" next="fk_lookup.png">Select related parent rows</image-link></li>
  140. <li><image-link title="Select foreign key values from referenced table" name="fk_lookup.png" back="parent_rows.png" next="objectsearcher.png">Select foreign key values from referenced table</image-link></li>
  141. <li><image-link title="Search object source" name="objectsearcher.png" back="fk_lookup.png" next="wbgrepsource.png">Search in the source of all objects</image-link></li>
  142. <li><image-link title="Using WbGrepSource" name="wbgrepsource.png" back="objectsearcher.png" next="SearchTables.png">Search in the source code using</image-link>&nbsp;<b><a href="manual/wb-commands.html#command-search-source">WbGrepSource</a></b></li>
  143. <li><image-link title="Search table data" name="SearchTables.png" back="wbgrepsource.png" next="wbgrepdata.png">Search data in all tables in the DbExplorer</image-link></li>
  144. <li><image-link title="Using WbGrepData" name="wbgrepdata.png" back="SearchTables.png" next="DataPumper.png">Search data in all tables using</image-link>&nbsp;<b><a href="manual/wb-commands.html#command-search-data">WbGrepData</a></b></li>
  145. <li><image-link title="Data Pumper" name="DataPumper.png" back="wbgrepdata.png" next="completion.png">Copy data between databases</image-link></li>
  146. <li><image-link title="Auto-completion" name="completion.png" back="DataPumper.png" next="insert_hint.png">Auto-completion for SQL statements</image-link></li>
  147. <li><image-link title="INSERT Hint" name="insert_hint.png" back="DataPumper.png" next="console.png">Hints for columns and values in INSERT statements</image-link></li>
  148. <li><image-link title="Console mode" name="console.png" back="DataPumper.png" next="table_definition.png">Console mode</image-link></li>
  149. <li><image-link title="Table definition" name="table_definition.png" back="DataPumper.png" next="TableSource.png">DbExplorer displaying table definition</image-link></li>
  150. <li><image-link title="SQL source for table definition" name="TableSource.png" back="table_definition.png" next="ViewSource.png">DbExplorer displaying table source</image-link></li>
  151. <li><image-link title="SQL Source Display" name="ViewSource.png" back="TableSource.png" next="FkDisplay.png">DbExplorer displaying the source of a VIEW</image-link></li>
  152. <li><image-link title="Foreign key display" name="FkDisplay.png" back="ViewSource.png" next="dependencies.png">DbExplorer displaying foreign key relationships</image-link></li>
  153. <li><image-link title="Object dependencies" name="dependencies.png" back="FkDisplay.png" next="screenshots">DbExplorer displaying object dependencies</image-link></li>
  154. </ul>
  155. </content>
  156. </page>
  157. <!--
  158. <page name="lookandfeel" title="Alternative Look &amp; Feels" toc="main">
  159. <title>Alternative Look &amp; Feels</title>
  160. <content>
  161. <h3>Beautyeye</h3>
  162. <image-link title="Main window" name="lnf/beautyeye/mainwindow.png" back="lookandfeeld" next="lnf/beautyeye/profiles.png">Main Window</image-link><br/>
  163. </content>
  164. </page>
  165. -->
  166. <!-- ======================== Getting started ========================== -->
  167. <page name="getting-started" title="Getting started" toc="main">
  168. <title>SQL Workbench/J</title>
  169. <subtitle>Getting started</subtitle>
  170. <content>
  171. <not-mysql/>
  172. <h3>Prerequisites</h3>
  173. <p>
  174. SQL Workbench/J needs a Java runtime (it also works with a JDK - "Java Development Kit").<br/><br/>
  175. Binaries for Windows, Linux or MacOS can be downloaded for free from <a target="_blank" href="https://adoptopenjdk.net/">AdoptOpenJDK</a>,
  176. <a target="_blank" href="http://jdk.java.net/">OpenJDK</a> or <a target="_blank" href="https://www.azul.com/downloads/zulu/">Azul Systems</a>.<br/>
  177. You have to install Java 8 or higher to run SQL Workbench/J. <br/>
  178. Using a 64bit Java runtime is highly recommended.
  179. </p>
  180. <p>
  181. The ZIP archive contains a batch file/shell script ("download_jre.cmd" or "download_jre.sh") that can automatically download the needed Java runtime,
  182. so you don't have to download the Java runtime in advance. After unpacking the archive, just run the download_jre script and it will
  183. download and extract an appropriate Java runtime to the folder where the batch file is located. The Windows launcher and shell scripts
  184. will automatically use that Java runtime.
  185. </p>
  186. <h3 style="padding-top:10px">Installation</h3>
  187. <p>
  188. After <a href="downloads.html">downloading</a> SQL Workbench/J, unzip the archive into
  189. a directory of your choice.
  190. </p>
  191. <div style="margin:10px;display:flex;flex-direction:row;justify-content:space-around">
  192. <div style="display:flex;flex-direction:column;margin-right:8px;padding-top:8px">
  193. <img style="vertical-align:middle" src="images/warning.png"/>
  194. </div>
  195. <div style="display:flex;flex-direction:column">
  196. <p>
  197. Due to <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4523159">a bug in the Java runtime</a>,
  198. you can <b>not</b> install SQL Workbench/J into a directory that contains an exclamation mark e.g. <tt>SQL!Workbench</tt>
  199. </p>
  200. </div>
  201. </div>
  202. <p>
  203. The application is now ready to be run, no further installation steps are necessary.
  204. </p>
  205. <p>
  206. More details about installing and configuring the application can be found <a href="manual/install.html">in the manual</a>
  207. </p>
  208. <h3 style="padding-top:10px">Starting the application</h3>
  209. <h4>Microsoft Windows</h4>
  210. <p>
  211. If you are using Microsoft Windows&reg; start the application by double-clicking the
  212. <tt>SQLWorkbench.exe</tt> executable. If you are using a 64bit operating system <b>and</b> a 64bit Java runtime,
  213. you have to use <tt>SQLWorkbench64.exe</tt> instead.
  214. </p>
  215. <h4>Linux and other Unix-style operating systems</h4>
  216. <p>
  217. If you are running Linux (or another Unix&reg; like operating system) you can use
  218. the supplied shell script <tt>sqlworkbench.sh</tt> to start the application.
  219. </p>
  220. <h3 style="padding-top:10px">Configuring the database (JDBC) drivers</h3>
  221. <p>
  222. When starting SQL Workbench/J for the first time, you will need to configure the JDBC drivers for your database system.
  223. </p>
  224. <p>
  225. When the initial connection dialog is displayed ("Select Connection Profile"), click on the
  226. <image-link title="Initial Connection dialog" name="startup_initial.png">"Manage Drivers" button</image-link>
  227. to specify the location of the driver's JAR file(s).
  228. </p>
  229. <p>
  230. The necessary JDBC driver is not part of the SQL Workbench/J distribution and if you have not already downloaded one
  231. you will need to do that before you can connect to the database.
  232. </p>
  233. <p>
  234. Links to the download locations for several popular database systems are available <a href="databases.html">here</a>
  235. </p>
  236. <p>
  237. To define the driver, <image-link title="Select driver" name="startup_driver.png">select the JAR file(s)</image-link> that
  238. is supplied by your <a href="databases.html">database system</a>. The driver definition dialog has a list of
  239. pre-defined drivers and the name of their jar file.
  240. </p>
  241. <p>
  242. To select the driver's JAR file, click on the "..." button next to the input field labelled "Library".
  243. After you have selected the JAR file, SQL Workbench/J will search for the approriate driver class to be
  244. used. If a JDBC driver implementation is found in the JAR file(s), it is automatically entered in the
  245. input field labeled "Classname". If more than one class is found you will have to select one. Please consult the manual
  246. of your driver (or database) for details on which driver class to use then.
  247. </p>
  248. <h3 style="padding-top:10px">Specifying the database connection</h3>
  249. <p>
  250. If you have specified the driver's location, you can close the "Manage drivers" dialog. In the "Select Connection Profile"
  251. dialog, you have to specify <image-link title="Define the connection" name="startup_connection.png">the details for your database connection</image-link>.
  252. You can find more details on how to define the JDBC driver in the <a href="manual/jdbc-setup.html">manual</a>.
  253. </p>
  254. <p>
  255. To setup the connection to your database, select the JDBC driver from the dropdown, then fill out the JDBC connection URL (a
  256. sample URL has been inserted into the input field) and most importantly: the username and password. Click OK to
  257. connect to the database.
  258. </p>
  259. <p>For further details, please refer to the <a href="manual/profiles.html">manual</a></p>
  260. </content>
  261. </page>
  262. <!-- ======================== Support ========================== -->
  263. <page name="support" title="Support" toc="main">
  264. <title>SQL Workbench/J</title>
  265. <subtitle>Support</subtitle>
  266. <content>
  267. <not-mysql/>
  268. <p>There are three ways how you can get support for SQL Workbench/J</p>
  269. <ul>
  270. <li>Read the <a href="manual/workbench-manual.html" target="_blank">manual</a></li>
  271. <li>Check out the SQL Workbench/J <a href="http://groups.google.com/group/sql-workbench" target="_blank">google group</a></li>
  272. <li>Send an email to <mail-to/> (or use <span style="padding:2px;background-color:lightgray">Help &raquo; Contact the author</span> from within the application)</li>
  273. </ul>
  274. <p>
  275. When reporting a problem, always include the build number of SQL Workbench/J you are using together with the DBMS, its version
  276. and the JDBC driver you are using. This information is shown in the connection info dialog, that can be obtained
  277. by right clicking on the connection URL in the main window and choosing "Connection info".
  278. </p>
  279. <p>
  280. Please also attach the <b>full</b> logfile. The location of the logfile is shown in the
  281. About dialog (the you can copy the filename from within the dialog).
  282. </p>
  283. </content>
  284. </page>
  285. <!-- ======================== Support ========================== -->
  286. <page name="laf" title="Alternative Look &amp; Feel" toc="main">
  287. <title>SQL Workbench/J</title>
  288. <subtitle>Alternative Look &amp; Feel</subtitle>
  289. <content>
  290. <h3>Installing a Look &amp; Feel</h3>
  291. <p>It's possible to use an alternative Look &amp; Feel apart from the default built-in available in the Java runtime.</p>
  292. <p>
  293. To use an alternative Look &amp; Feel, download the necessary JAR file(s). The JAR file(s) can be saved in
  294. any directory.
  295. </p>
  296. <p>
  297. To register and activate the Look &amp; Feel, go to <tt>Tools &gt; Options &gt; Look and Feel</tt>.
  298. </p>
  299. <p>
  300. When creating a new Look &amp; Feel, you need to select the downloaded JAR file(s). Once you have selected
  301. the JAR file(s), you can select the class that provides the Look &amp; Feel.
  302. </p>
  303. <br/>
  304. <h3>Compatible Look &amp; Feels</h3>
  305. <p>
  306. The following Look &amp; Feels are compatible with SQL Workbench/J.
  307. </p>
  308. <ul>
  309. <li><a href="https://www.formdev.com/flatlaf" target="_blank">FlatLaf</a></li>
  310. <li><a href="https://www.pagosoft.com/projects/pgslookandfeel/" target="_blank">PGS</a></li>
  311. <li><a href="http://www.jtattoo.net" target="_blank">JTattoo</a></li>
  312. <li><a href="http://www.jgoodies.com/freeware/libraries/looks/" target="_blank">JGoodies Looks</a></li>
  313. </ul>
  314. <p>
  315. When using a "dark" Look &amp; Feel, you need to change the background color of the editor and the message area
  316. manually. Those two colors are not influenced by the colors defined by the Look &amp; Feel.
  317. </p>
  318. </content>
  319. </page>
  320. <!-- ======================== XSLT Files ========================== -->
  321. <page name="xslt" title="XSLT" toc="main">
  322. <title>Sample XSL transformations</title>
  323. <content>
  324. <p>Several SQL Workbench/J commands produce XML output (e.g. <a href="manual/wb-commands.html#command-schema-report">WbSchemaReport</a>
  325. or <a href="manual/wb-commands.html#command-schema-diff">WbSchemaDiff</a>).
  326. </p>
  327. <p>On this page you can find some sample XSLT files to transform these output
  328. formats into SQL scripts or HTML documents.
  329. </p>
  330. <p>They are far from beeing production-quality scripts and are meant
  331. as a starting point for your own needs.
  332. </p>
  333. <p>If you have developed an XSLT file to support the various
  334. XML outputs of SQL Workbench/J and would like to share it, please send
  335. it to <mail-to/></p>
  336. <h2 style="text-align:left;padding-top:25px">WbSchemaReport transformations</h2>
  337. <p>The following files will transform the output of the <a href="manual/wb-commands.html#command-schema-report">WbSchemaReport</a> command</p>
  338. <ul>
  339. <li><a href="wbreport2html.xslt">HTML output</a></li>
  340. <li><a href="wbreport2pg.xslt">Create a script for PostgreSQL</a></li>
  341. <li><a href="wbreport2oracle.xslt">Create a script for Oracle</a></li>
  342. <li><a href="wbreport2liquibase.xslt">Generate a Liquibase Changeset</a><br/>
  343. The script includes <a href="liquibase_common.xslt">liquibase_common.xslt</a>. Both files are needed</li>
  344. <li><a href="wbreport2proc.xslt">Extract procedures</a></li>
  345. <li><a href="wbreport2confluence.xslt">Generate Confluence Wiki code</a></li>
  346. <li><a href="wbreport2benerator.xslt">Generate an initial stub for a</a> <a target="_blank" href="http://databene.org/databene-benerator/">Benerator</a> script</li>
  347. </ul>
  348. <h2 style="text-align:left;padding-top:5px">WbSchemaDiff transformations</h2>
  349. <p>The following files will transform the output of the <a href="manual/wb-commands.html#command-schema-diff">WbSchemaDiff</a>
  350. command</p>
  351. <ul>
  352. <li><a href="wbdiff2pg.xslt">Transform to a PostgreSQL script</a></li>
  353. <li><a href="wbdiff2oracle.xslt">Transform to an Oracle script</a></li>
  354. <li><a href="wbdiff2liquibase.xslt">Transform to a Liquibase changeset</a><br/>
  355. The script includes <a href="liquibase_common.xslt">liquibase_common.xslt</a>. Both files are needed</li>
  356. <li><a href="wbdiff2derby.xslt">Transform to an Apache Derby script</a></li>
  357. <li><a href="wbdiff2mssql.xslt">Transform to an Microsoft SQL Server script</a></li>
  358. </ul>
  359. <h2 style="text-align:left;padding-top:5px">WbExport transformations</h2>
  360. <p>The following files will transform the XML output of the <a href="manual/command-export.html">WbExport</a> command</p>
  361. <ul>
  362. <li><a href="wbexport2lbinsert.xslt">Transform an XML export into a Liquibase INSERT changeset</a>&nbsp;&nbsp;&nbsp;(See <a target="_blank" href="http://www.liquibase.org/manual/insert_data">Liquibase Insert Data</a>)</li>
  363. <li><a href="wbexport2text.xslt">Transform an XML export into a CSV file</a></li>
  364. <li><a href="wbexport2dbunit.xslt">Transform an XML export int a DbUnit XML file</a></li>
  365. <li><a href="wbexport2dbunitflat.xslt">Transform an XML export into a DbUnit flat XML file</a></li>
  366. </ul>
  367. </content>
  368. </page>
  369. <!-- ======================== Downloads ========================== -->
  370. <page name="downloads" title="Downloads" toc="main">
  371. <title>SQL Workbench/J</title>
  372. <subtitle>Available Downloads</subtitle>
  373. <content>
  374. <not-mysql/>
  375. <p style="margin-top:15px;text-align:center;font-weight:bold;margin-bottom:0px">
  376. SQL Workbench/J requires <b>Java 8</b> or later
  377. </p>
  378. <h3 style="margin-top:25px">Stable release</h3>
  379. <p>
  380. Current stable release: Build <build-number/>, <build-date/> (<a href="history.html">Release History</a>)
  381. </p>
  382. <p>
  383. The generic package contains the jar file, the manual (HTML and PDF), shell scripts for Linux/Unix
  384. based systems (including MacOS) to start the application as well as a Windows<SUP>&reg;</SUP> <a href="manual/install.html#launcher-using">launcher</a>
  385. and sample <a href="xslt.html">XSLT</a> scripts.
  386. </p>
  387. <p>
  388. The download includes the language files for English and German. The application's language can be changed
  389. from within the options dialog (Tools -&gt; Options).
  390. </p>
  391. <p>
  392. If you want to import or export Microsoft Excel files (XLS, XLSX) or import OpenOffice Calc documents, download the "Generic package
  393. including all optional libraries" (approx. 30MB). If you are in doubt which one to use, download that.
  394. </p>
  395. <div style="padding-left:1.5em;padding-right:1.5em;border-style:solid;border-width:2px;border-color:gray;margin-bottom:2em;margin-top:2em">
  396. <p style="font-size:125%;font-weight:bold;margin-top:1em;">Change in the directory layout!</p>
  397. <div style="margin:10px;display:flex;flex-direction:row;justify-content:space-around;">
  398. <div style="display:flex;flex-direction:column;margin-right:0.5em;padding-top:4px">
  399. <img style="vertical-align:middle;" src="images/warning.png"/>
  400. </div>
  401. <div style="display:flex;flex-direction:column;">
  402. <p>
  403. Starting with build 125 all additional libraries (e.g. for Excel exports) are expected in the sub-directory <tt>ext</tt>
  404. relative to the directory where <tt>sqlworkbench.jar</tt> is located. The location of the JDBC drivers is not affected by this.
  405. </p>
  406. <p>
  407. If you download the archive "with optional libraries", the libraries will automatically be extracted into the <tt>ext</tt>
  408. subdirectory and you can remove the existing libraries from directory where <tt>sqlworkbench.jar</tt>
  409. is located.
  410. </p>
  411. </div>
  412. </div>
  413. </div>
  414. <ul>
  415. <li><zip-office-link/></li>
  416. <li><zip-link/></li>
  417. <li><source-link/></li>
  418. </ul>
  419. <p style="font-weight:bold">Please note:</p>
  420. <p style="margin-left:15px;margin-right:25px">
  421. If you have copied the jar files for the Excel and OpenOffice support before, please delete all existing files from the <tt>ext</tt>
  422. subdirectory before extracting the new archive as some of the library names have changed.
  423. </p>
  424. <p style="margin-top:25px">
  425. Older versions can be downloaded from the <a href="download-archive.html">download archive</a>
  426. </p>
  427. <p style="margin-top:25px">
  428. You can subscribe to the <a href="wb_news.xml">RSS Feed</a> to receive information about new releases
  429. </p>
  430. <p>If you are having problems unzipping the distribution archive with WinZip, please read <a href="winzip.html">this</a>.</p>
  431. <dev-build-info/>
  432. </content>
  433. </page>
  434. <page name="dev-download" title="Development build" toc="main" when="dev-build">
  435. <title>SQL Workbench/J</title>
  436. <subtitle>Development build download</subtitle>
  437. <content>
  438. <not-mysql/>
  439. <h3 id="dev_build" style="margin-top:20px">Development build</h3>
  440. <p>
  441. A development build is generated while testing and implementing new features for the next stable build.
  442. <br/>
  443. Bugfixes will show up in these builds first.
  444. <br/>
  445. </p>
  446. <!--
  447. <div style="padding-left:1.5em;padding-right:1.5em;border-style:solid;border-width:2px;border-color:gray;margin-bottom:2em;margin-top:2em">
  448. <div style="margin:10px;display:flex;flex-direction:row;justify-content:space-around;">
  449. <div style="display:flex;flex-direction:column;margin-right:0.5em;padding-top:4px">
  450. <img style="vertical-align:middle;" src="images/warning.png"/>
  451. </div>
  452. <div style="display:flex;flex-direction:column;">
  453. <p>
  454. Due to problems with some anti-virus programs, the new launcher introduced in build 125.8 has been removed
  455. and the old launcher (still used in the current stable build) has been included again in this dev build.
  456. </p>
  457. <p>
  458. If the new launcher converted your existing INI file to <tt>SQLWorkbench.cfg</tt> you should restore the
  459. backup file <tt>SQLWorkbench64.ini_obsolete</tt> to <tt>SQLWorkbench64.ini</tt>.
  460. </p>
  461. </div>
  462. </div>
  463. </div>
  464. -->
  465. <dev-build/>
  466. </content>
  467. </page>
  468. <!--
  469. <page name="macos" title="Running SQL Workbench/J on MacOS" toc="false">
  470. <title>Running SQL Workbench/J on MacOS</title>
  471. <content>
  472. <h3>Running SQL Workbench/J on MacOS</h3>
  473. <p>
  474. On MacOS starting SQL Workbench through the application icon does not work if Java 5 and Java 6 are installed together.<br/>
  475. The stub that starts the Java virtual machine seems to pick the wrong Java installation.
  476. </p>
  477. <p>
  478. To fix this problem, copy the stub from the Java 6 application into the SQL Workbench/J directory using the following command (on a single line)
  479. </p>
  480. <p>
  481. <tt>cp /System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub /Applications/SQLWorkbench/SQLWorkbenchJ.app/Contents/MacOS/</tt>
  482. </p>
  483. </content>
  484. </page>
  485. -->
  486. <page name="download-archive" title="Old Versions" toc="small">
  487. <title>SQL Workbench/J</title>
  488. <subtitle>Release Archive</subtitle>
  489. <content>
  490. <p>Download archive for SQL Workbench/J</p>
  491. <ul class="archive-list">
  492. <li>Build 124 (requires Java 8)<br/>
  493. <ul>
  494. <li><a href="archive/Workbench-Build124.zip">All Platforms</a></li>
  495. <li><a href="archive/Workbench-Build124-Mac.tgz">Mac Package</a></li>
  496. <li><a href="archive/WorkbenchSrc-Build124.zip">Source Code</a></li>
  497. </ul>
  498. </li>
  499. <li>Build 123 (requires Java 8)<br/>
  500. <ul>
  501. <li><a href="archive/Workbench-Build123.zip">All Platforms</a></li>
  502. <li><a href="archive/Workbench-Build123-Mac.tgz">Mac Package</a></li>
  503. <li><a href="archive/WorkbenchSrc-Build123.zip">Source Code</a></li>
  504. </ul>
  505. </li>
  506. <li>Build 122 (requires Java 8)<br/>
  507. <ul>
  508. <li><a href="archive/Workbench-Build122.zip">All Platforms</a></li>
  509. <li><a href="archive/Workbench-Build122-Mac.tgz">Mac Package</a></li>
  510. <li><a href="archive/WorkbenchSrc-Build122.zip">Source Code</a></li>
  511. </ul>
  512. </li>
  513. <li>Build 121 (requires Java 8)<br/>
  514. <ul>
  515. <li><a href="archive/Workbench-Build121.zip">All Platforms</a></li>
  516. <li><a href="archive/Workbench-Build121-Mac.tgz">Mac Package</a></li>
  517. <li><a href="archive/WorkbenchSrc-Build121.zip">Source Code</a></li>
  518. </ul>
  519. </li>
  520. <li>Build 120 (requires Java 8)<br/>
  521. <ul>
  522. <li><a href="archive/Workbench-Build120.zip">All Platforms</a></li>
  523. <li><a href="archive/Workbench-Build120-MacJava8.tgz">Mac Package</a></li>
  524. <li><a href="archive/WorkbenchSrc-Build120.zip">Source Code</a></li>
  525. </ul>
  526. </li>
  527. <li>Build 119 (requires Java 8)<br/>
  528. <ul>
  529. <li><a href="archive/Workbench-Build119.zip">All Platforms</a></li>
  530. <li><a href="archive/Workbench-Build119-MacJava8.tgz">Mac Package</a></li>
  531. <li><a href="archive/WorkbenchSrc-Build119.zip">Source Code</a></li>
  532. </ul>
  533. </li>
  534. <li>Build 118 (works with Java 7)<br/>
  535. <ul>
  536. <li><a href="archive/Workbench-Build118.zip">All Platforms</a></li>
  537. <li><a href="archive/Workbench-Build118-MacJava7.tgz">Mac Package for Java7</a></li>
  538. <li><a href="archive/WorkbenchSrc-Build118.zip">Source Code</a></li>
  539. </ul>
  540. </li>
  541. <li>Build 117<br/>
  542. <ul>
  543. <li><a href="archive/Workbench-Build117.zip">All Platforms</a></li>
  544. <li><a href="archive/Workbench-Build117-Mac.tgz">Mac Package</a></li>
  545. <li><a href="archive/Workbench-Build117-MacJava7.tgz">Mac Package for Java7</a></li>
  546. <li><a href="archive/WorkbenchSrc-Build117.zip">Source Code</a></li>
  547. </ul>
  548. </li>
  549. <li>Build 116<br/>
  550. <ul>
  551. <li><a href="archive/Workbench-Build116.zip">All Platforms</a></li>
  552. <li><a href="archive/Workbench-Build116-Mac.tgz">Mac Package</a></li>
  553. <li><a href="archive/Workbench-Build116-MacJava7.tgz">Mac Package for Java7</a></li>
  554. <li><a href="archive/WorkbenchSrc-Build116.zip">Source Code</a></li>
  555. </ul>
  556. </li>
  557. <li>Build 115<br/>
  558. <ul>
  559. <li><a href="archive/Workbench-Build115.zip">All Platforms</a></li>
  560. <li><a href="archive/Workbench-Build115-Mac.tgz">Mac Package</a></li>
  561. <li><a href="archive/Workbench-Build115-MacJava7.tgz">Mac Package for Java7</a></li>
  562. <li><a href="archive/WorkbenchSrc-Build115.zip">Source Code</a></li>
  563. </ul>
  564. </li>
  565. <li>Build 114<br/>
  566. <ul>
  567. <li><a href="archive/Workbench-Build114.zip">All Platforms</a></li>
  568. <li><a href="archive/Workbench-Build114-Mac.tgz">Mac Package</a></li>
  569. <li><a href="archive/WorkbenchSrc-Build114.zip">Source Code</a></li>
  570. </ul>
  571. </li>
  572. <li>Build 113<br/>
  573. <ul>
  574. <li><a href="archive/Workbench-Build113.zip">All Platforms</a></li>
  575. <li><a href="archive/Workbench-Build113-Mac.tgz">Mac Package</a></li>
  576. <li><a href="archive/WorkbenchSrc-Build113.zip">Source Code</a></li>
  577. </ul>
  578. </li>
  579. <li>Build 112<br/>
  580. <ul>
  581. <li><a href="archive/Workbench-Build112.zip">All Platforms</a></li>
  582. <li><a href="archive/Workbench-Build112-Mac.tgz">Mac Package</a></li>
  583. <li><a href="archive/WorkbenchSrc-Build112.zip">Source Code</a></li>
  584. </ul>
  585. </li>
  586. <li>Build 111<br/>
  587. <ul>
  588. <li><a href="archive/Workbench-Build111.zip">All Platforms</a></li>
  589. <li><a href="archive/Workbench-Build111-Mac.tgz">Mac Package</a></li>
  590. <li><a href="archive/WorkbenchSrc-Build111.zip">Source Code</a></li>
  591. </ul>
  592. </li>
  593. <li>Build 110<br/>
  594. <ul>
  595. <li><a href="archive/Workbench-Build110.zip">All Platforms</a></li>
  596. <li><a href="archive/Workbench-Build110-Mac.tgz">Mac Package</a></li>
  597. <li><a href="archive/WorkbenchSrc-Build110.zip">Source Code</a></li>
  598. </ul>
  599. </li>
  600. </ul>
  601. </content>
  602. </page>
  603. <page name="history" title="Release History" toc="main">
  604. <title>SQL Workbench/J</title>
  605. <subtitle>Release History</subtitle>
  606. <content>
  607. <full-history/>
  608. </content>
  609. </page>
  610. <page id="dev-history" title="Change Log" toc="false">
  611. <title>SQL Workbench/J</title>
  612. <content>
  613. <dev-history/>
  614. </content>
  615. </page>
  616. <page link="https://codeberg.org/sql-workbench/workbench" title="Git Repository" toc="small" target="_blank"/>
  617. <!--
  618. <page name="source-repos" title="Git Repository" toc="small">
  619. <title>SQL Workbench/J</title>
  620. <subtitle>Access to the source code</subtitle>
  621. <content>
  622. <p>
  623. The public Git repository is located at <a href="https://codeberg.org/sql-workbench/workbench">Codeberg</a>
  624. </p>
  625. </content>
  626. </page>
  627. -->
  628. <page name="disclaimer" title="Disclaimer" toc="small">
  629. <title>SQL Workbench/J</title>
  630. <subtitle>Disclaimer</subtitle>
  631. <content>
  632. <h3>Disclaimer</h3>
  633. <p class="disclaimer">The software is provided &#34;as is&#34;, without warranty of any
  634. kind, express or implied, including but not limited to the warranties of merchantability,
  635. fitness for a particular purpose and noninfringement. In no event shall the author (Thomas Kellerer),
  636. be liable for any direct, indirect, incidental, special, exemplary, or consequential
  637. damages (including, but not limited to, procurement of substitute goods or services; loss
  638. of use, data, or profits; or business interruption) however caused and on any theory of
  639. liability, whether in contract, strict liability, or tort (including negligence or
  640. otherwise) arising in any way out of the use of this software, even if advised of the
  641. possibility of such damage.
  642. </p>
  643. <p>In other words:
  644. <span style="font-weight:bold">use it at your own risk, and don't blame me if you accidently delete your database!</span>
  645. </p>
  646. </content>
  647. </page>
  648. <page link="manual/license.html" title="License" toc="small"/>
  649. <!-- ======================== About the author ========================== -->
  650. <page name="author" title="About the author" toc="small">
  651. <title>SQL Workbench/J</title>
  652. <subtitle>About the author</subtitle>
  653. <content>
  654. <p>My name is Thomas Kellerer, I live in Munich, Germany.</p>
  655. <p>SQL Workbench/J came into existance because I didn't want to learn a new SQL
  656. tool for every DBMS I had to use. I use this tool on a regular (daily) basis
  657. in my own work. I also wanted to have a tool that could do basic data migration between
  658. different kinds of DBMS systems.
  659. </p>
  660. <p>If you have any suggestions on how to enhance the application, if you find a bug or if you are missing
  661. support for a DDBMS, feel free to write me an email.
  662. </p>
  663. <p>I will try to add support (beyond what JDBC offers) for any DBMS that I have free access to (e.g. a free
  664. trial download).
  665. </p>
  666. <p>
  667. Some of the DBMS specific support in the <a target="_blank" href="manual/dbexplorer.html">Database Explorer</a>
  668. (e.g. display of stored procedure source, view source) can be configured without building a new
  669. distribution. If you have questions regarding this, feel free to write me an email.
  670. </p>
  671. <a href="https://blog.sql-workbench.eu">My blog about SQL topics.</a>
  672. </content>
  673. </page>
  674. <page link="dbms_comparison.html" title="DBMS comparison" toc="small" target="_blank"/>
  675. <page link="https://blog.sql-workbench.eu" title="My blog about SQL" toc="small" target="_blank"/>
  676. <!-- ======================== WinZip note ========================== -->
  677. <page name="winzip" title="WinZip" toc="false">
  678. <title>A note to WinZip users</title>
  679. <content>
  680. <h3>Problems with WinZip 8.x</h3>
  681. <p>It has been reported to me, that WinZip 8.1 has a problem dealing with the distribution ZIP file. It seems that WinZip
  682. claims that the archive is empty, although it is not.</p>
  683. <p>
  684. The distribution archive has been created with <a target="_blank" href="http://ant.apache.org/manual/CoreTasks/zip.html">Ant's ZIP task</a>,
  685. and is - as far as I can tell - a valid zip archive.
  686. </p>
  687. <p>It has been tested successfully with the following tools:</p>
  688. <ul>
  689. <li><a href="http://www.ghisler.com">TotalCommander</a></li>
  690. <li><a href="http://www.filzip.com/">FilZip</a></li>
  691. <li>The commandline tools from <a href="http://www.info-zip.org/">Info-Zip</a></li>
  692. <li>Java's jar command</li>
  693. <li>Windows&reg;&nbsp;XP built-in ZIP support</li>
  694. </ul>
  695. </content>
  696. </page>
  697. <page name="build-from-source" title="Building from Source" toc="main">
  698. <title>Building SQL Workbench/J from Source</title>
  699. <content>
  700. <h3>Building the jar file</h3>
  701. <p>
  702. The source distribution does not contain all needed libraries. If you want to build SQL Workbench/J yourself
  703. it is highly recommended to clone or download the <a target="42" href="https://codeberg.org/sql-workbench/workbench">Git repository</a>
  704. to automatically get everything you need.
  705. </p>
  706. <p>
  707. To build the jar file, use <tt>ant</tt> while the <tt>scripts</tt> directory
  708. is your current directory. If the build is successful, <tt>dist/sqlworkbench.jar</tt>
  709. will be created.
  710. </p>
  711. <p>
  712. The default Ant target <tt>make-dev-jar</tt> does not build the manual.
  713. </p>
  714. <h3>Building the manual</h3>
  715. <p>
  716. To build the manual, please clone or download the corresponding <a target="42" href="https://codeberg.org/sql-workbench/manual">Git repository</a>.
  717. </p>
  718. <p>
  719. To build the manual you need to download the <a href="http://sourceforge.net/projects/docbook/">Docbook XSL</a> package
  720. (e.g. <tt>docbook-xsl-1.78.1.zip</tt>) and <a href="http://xmlgraphics.apache.org/fop/">FOP</a> (Version 0.95, newer
  721. version don't work with Docbook XSL).
  722. </p>
  723. <ul>
  724. <li>Copy the Docbook distribution to <tt>etc/docbook</tt> on the same level where the <tt>manual</tt> subdirectory is</li>
  725. <li>Copy the FOP distribution to <tt>etc/fop</tt> on the same level where the <tt>manual</tt> subdirectory is</li>
  726. </ul>
  727. <p>
  728. Go into the <tt>manual</tt> subdirectory and type <tt>ant pdf</tt> to build the PDF or
  729. <tt>ant publish-dev</tt> to build the HTML manual.
  730. </p>
  731. </content>
  732. </page>
  733. </site>