<div dir="ltr">Hello,<br>We can consider the driver finished, this is a summary of the changes we need in Kexi<br><ul><li>Adding QString sid to ConnectionData and the GUI<br></li><li>In Connection::CreateDatabase adding check for oracle when checking if database exists:<br>

<br><span style="font-family: courier new,monospace;">if (databaseExists( dbName )&amp;&amp;!m_driver-&gt;name().compare(&quot;oracle&quot;)) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; setError(ERR_OBJECT_EXISTS, i18n(&quot;Database \&quot;%1\&quot; already exists.&quot;, dbName) );</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; return false;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp; }</span></li><li><span style="font-family: courier new,monospace;"><font face="arial,helvetica,sans-serif">I don&#39;t know if this is valid for all engines but in Oracle when creating tables NOT NULL clause must be the last one, but here it is after DEFAULT X so boolean type creation crashes, at least in case of Oracle the order of those two must be exchanged in Connection::CreateTableStatement:<br>

<br><span style="font-family: courier new,monospace;">if (field-&gt;defaultValue().isValid()) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QString valToSQL( m_driver-&gt;valueToSQL( field, field-&gt;defaultValue() ) );</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!valToSQL.isEmpty()) //for sanity</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v += QString::fromLatin1(&quot; DEFAULT &quot;) + valToSQL;</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!autoinc &amp;&amp; !pk &amp;&amp; field-&gt;isNotNull())</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v += &quot; NOT NULL&quot;; //only add not null option if no autocommit is set</span><br><br></font></span></li></ul>For the moment when kexi doesnt hang or does something strange the driver can:<br>
<br>Create a Connection on a remote server (hasn&#39;t been proved on localhost)<br>Create a project in the database an open it<br>
Create tables insert data (exept dates and Objects) and simple querys<br><br>Kexi has a strange behaviour in these cases<br><ul><li><u>Creating a Connection</u>: If you press Test Connection the driver returns true (if data provided was correct) but kexi hangs.<br>
</li><li><u>DDL</u>:<br>
-If a table hasn&#39;t got Pk you cannot modify a row, kexi complains<br>
-If you try to redefine a field or add a new column sometimes kexi hangs before passing the statement to oracle<br>
- Drop table and execute script do nothing<br>
- Date type is always &#39;&#39; (empty) string<br>-File navigator of Object type columns gets only the extension of the files<br></li></ul>We think these are kexi errors of the developement version, if not, please notify me so we can try to guess what&#39;s wrong ^^<br>
<br>Regards,<br>Julia<br><br>
<br>
</div>