Oracle DB support (doc). #PL-1926

This commit is contained in:
Konstantin Krivopustov 2013-03-12 13:53:02 +00:00
parent 36176850dc
commit a323845b0b
3 changed files with 50 additions and 9 deletions

View File

@ -270,7 +270,7 @@
<listitem>
<para><code>createDb</code> - задача типа <code>CubaDbCreation</code>, выполняющая создание базы данных приложения и выполнение соответствующих <link linkend="db_scripts">скриптов</link>. Объявляется в модуле <structname>core</structname>. Параметры:<itemizedlist>
<listitem>
<para><code>dbms</code> - тип СУБД, задается строкой <code>postgres</code> или <code>mssql</code>.</para>
<para><code>dbms</code> - тип СУБД, задается строкой <code>postgres</code>, <code>mssql</code> или <code>oracle</code>.</para>
</listitem>
<listitem>
<para><code>dbName</code> - имя базы данных. </para>
@ -282,7 +282,7 @@
<para><code>dbPassword</code> - пароль пользователя СУБД.</para>
</listitem>
<listitem>
<para><code>host</code> - имя хоста СУБД. Если не задан, используется <code>localhost</code>.</para>
<para><code>host</code> - хост, и, опционально, порт СУБД в формате <code>host[:port]</code>. Если не задан, используется <code>localhost</code>. </para>
</listitem>
<listitem>
<para><code>dropDbSql</code> - команда SQL для удаления БД. Если не задана, используется значение по умолчанию, зависящее от типа СУБД. </para>
@ -290,12 +290,33 @@
<listitem>
<para><code>createDbSql</code> - команда SQL для создания БД. Если не задана, используется значение по умолчанию, зависящее от типа СУБД. </para>
</listitem>
<listitem>
<para><code>driverClasspath</code> - список JAR файлов, содержащих JDBC драйвер. Элементы списка разделяются символом &quot;:&quot; на Linux и символом &quot;;&quot; на Windows. Если не задан, используются зависимости, входящие в конфигурацию <code>jdbc</code> данного модуля. Явное задание <code>driverClasspath</code> актуально при использовании Oracle, т.к. его JDBC драйвер не присутствует в зависимостях. </para>
</listitem>
<listitem>
<para><code>oracleSystemPassword</code> - при использовании Oracle пароль пользователя SYSTEM.</para>
</listitem>
</itemizedlist></para>
<para>Например:<programlisting>task createDb(dependsOn: assemble, description: &apos;Creates local database&apos;, type: CubaDbCreation) {
<para>Пример для PostgreSQL:<programlisting>task createDb(dependsOn: assemble, description: &apos;Creates local database&apos;, type: CubaDbCreation) {
dbms = &apos;postgres&apos;
dbName = &apos;sales&apos;
dbUser = &apos;cuba&apos;
dbPassword = &apos;cuba&apos;
}</programlisting></para>
<para>Пример для MS SQL Server:<programlisting>task createDb(dependsOn: assemble, description: &apos;Creates local database&apos;, type: CubaDbCreation) {
dbms = &apos;mssql&apos;
dbName = &apos;sales&apos;
dbUser = &apos;sa&apos;
dbPassword = &apos;saPass1&apos;
}</programlisting></para>
<para>Пример для Oracle:<programlisting>task createDb(dependsOn: assemble, description: &apos;Creates database&apos;, type: CubaDbCreation) {
dbms = &apos;oracle&apos;
host = &apos;192.168.1.10&apos;
dbName = &apos;orcl&apos;
dbUser = &apos;sales&apos;
dbPassword = &apos;sales&apos;
oracleSystemPassword = &apos;manager&apos;
driverClasspath = &quot;$tomcatDir/lib/ojdbc6.jar&quot;
}</programlisting></para>
</listitem>
<listitem>

View File

@ -3559,7 +3559,7 @@ public void someServiceMethod() {
<title>Выбор и подключение</title>
<para>Тип используемой СУБД определяется свойством приложения <property>
<link linkend="cuba.dbmsType">cuba.dbmsType</link>
</property> и настройкой источника данных. Конфигурационный файл для Tomcat, определяющий источник данных, описан в <xref linkend="context.xml"/></para>
</property> и настройкой источника данных. Конфигурационный файл для <application>Tomcat</application>, определяющий источник данных, описан в <xref linkend="context.xml"/></para>
<warning>
<para>Обратите внимание на применимость СУБД в зависимости от используемых <link linkend="base_projects">базовых проектов</link> платформы:<itemizedlist>
<listitem>
@ -3569,10 +3569,14 @@ public void someServiceMethod() {
<para><application>PostgreSQL</application> - поддерживается всеми базовыми проектами платформы</para>
</listitem>
<listitem>
<para><application>Microsoft SQL Server</application> - поддерживается базовыми проектами <structname>cuba</structname>, <structname>workflow</structname>, <structname>fts</structname></para>
<para><application>Microsoft SQL Server</application> - поддерживается базовыми проектами <structname>cuba</structname>, <structname>reports</structname>, <structname>workflow</structname>, <structname>fts</structname></para>
</listitem>
<listitem>
<para><application>Oracle</application> - поддерживается базовыми проектами <structname>cuba</structname>, <structname>reports</structname>, <structname>workflow</structname>, <structname>fts</structname>, <structname>ccpayments</structname></para>
</listitem>
</itemizedlist></para>
</warning>
<para>При использовании <application>Oracle</application> имеется следующая особенность: в связи с политикой распространения JDBC драйвера Oracle его можно скачать только вручную с сайта <ulink url="http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html">http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html</ulink>. После скачивания разместите JAR с драйвером в подкаталоге <filename>lib</filename> установленного сервера <application>Tomcat</application>.</para>
</section>
<section id="db_scripts">
<title>Создание и обновление БД</title>
@ -3659,15 +3663,17 @@ public void someServiceMethod() {
<title>Соответствие типов данных</title>
<para>В таблице приведено соответствие типов данных, отличающихся для разных СУБД.</para>
<informaltable frame="all">
<tgroup cols="3">
<tgroup cols="4">
<colspec colnum="1" colname="c0"/>
<colspec colnum="2" colname="c1"/>
<colspec colnum="3" colname="c2"/>
<colspec colname="cgen1" colnum="4"/>
<thead>
<row>
<entry>Java</entry>
<entry>PostgreSQL</entry>
<entry>MS SQL Server</entry>
<entry>Oracle</entry>
</row>
</thead>
<tbody>
@ -3675,21 +3681,25 @@ public void someServiceMethod() {
<entry>UUID</entry>
<entry>uuid</entry>
<entry>uniqueidentifier</entry>
<entry>varchar2(32)</entry>
</row>
<row>
<entry>Date</entry>
<entry>timestamp</entry>
<entry>datetime</entry>
<entry>timestamp</entry>
</row>
<row>
<entry>Boolean</entry>
<entry>boolean</entry>
<entry>tinyint</entry>
<entry>char(1)</entry>
</row>
<row>
<entry>byte[]</entry>
<entry>bytea</entry>
<entry>image</entry>
<entry>blob</entry>
</row>
</tbody>
</tgroup>

View File

@ -118,7 +118,7 @@
<para>Пример определения источника данных для <application>PostgreSQL</application>:<programlisting>&lt;Resource
name=&quot;jdbc/CubaDS&quot;
type=&quot;javax.sql.DataSource&quot;
maxActive=&quot;20&quot;
maxActive=&quot;100&quot;
maxIdle=&quot;2&quot;
maxWait=&quot;5000&quot;
driverClassName=&quot;org.postgresql.Driver&quot;
@ -128,13 +128,23 @@
<para>Пример определения источника данных для <application>Microsoft SQL Server</application>:<programlisting>&lt;Resource
name=&quot;jdbc/CubaDS&quot;
type=&quot;javax.sql.DataSource&quot;
maxActive=&quot;20&quot;
maxActive=&quot;100&quot;
maxIdle=&quot;2&quot;
maxWait=&quot;5000&quot;
driverClassName=&quot;net.sourceforge.jtds.jdbc.Driver&quot;
username=&quot;sa&quot;
password=&quot;saPass1&quot;
url=&quot;jdbc:jtds:sqlserver://localhost/sales&quot;/&gt;</programlisting></para>
<para>Пример определения источника данных для <application>Oracle</application>:<programlisting>&lt;Resource
name=&quot;jdbc/CubaDS&quot;
type=&quot;javax.sql.DataSource&quot;
maxActive=&quot;100&quot;
maxIdle=&quot;2&quot;
maxWait=&quot;5000&quot;
driverClassName=&quot;oracle.jdbc.OracleDriver&quot;
username=&quot;sales&quot;
password=&quot;sales&quot;
url=&quot;jdbc:oracle:thin:@//localhost:1521/orcl&quot;/&gt;</programlisting></para>
<para>Для всех <link linkend="app_tiers">блоков</link>, являющихся веб-приложениями, данный файл может содержать код, отключающий сериализацию HTTP-сессий:<programlisting>&lt;Manager className=&quot;org.apache.catalina.session.PersistentManager&quot; debug=&quot;0&quot; distributable=&quot;false&quot;
saveOnRestart=&quot;false&quot;&gt;
&lt;Store className=&quot;org.apache.catalina.session.FileStore&quot;/&gt;
@ -810,7 +820,7 @@ menu-config.sales$Customer.lookup=Customers</programlisting></para>
<varlistentry id="cuba.dbmsType">
<term>cuba.dbmsType</term>
<listitem>
<para>Задает тип используемой базы данных. Возможные значения соответствуют значениям перечисления <code>DbmsType</code> без учета регистра: <literal>hsql</literal>, <literal>postgres</literal>, <literal>mssql</literal>.</para>
<para>Задает тип используемой базы данных. Возможные значения соответствуют значениям перечисления <code>DbmsType</code> без учета регистра: <literal>hsql</literal>, <literal>postgres</literal>, <literal>mssql</literal>, <literal>oracle</literal>.</para>
<para>Значение по умолчанию: <literal>hsql</literal></para>
<para>Используется в блоке <structname>Middleware</structname>.</para>
</listitem>