|
Hello Nico, Thank you very much. My instaltion of MMBase with Oracle is working now :). I've struglled with Java code of StorageFactory all last week :(. I use oracle.jdbc.driver.OracleDriver naturally. Although MMBase works there are a few porblems. For exaple if you try to install My News example application there is Oracle's error: ORA-01400: cannot insert NULL into ("MMUSER"."MM_OALIAS"."DESCRIPTION"). If you manually alter this field (it is not nulable but it should be) everythink work OK. Similar error is in My Yahoo application: ORA-01400: cannot insert NULL into ("MMUSER"."MM_URLS_TABLE"."M_NAME"). The better way then change this tables manually is change XML builder files. For first error in file config\builders\core\oaliases you sholud change atribut "notnull = false" in the tag which describes filed "Description". It makes an question: Why do another databases (e.g. MySQL) work fine without these changes? Once again thanks for help Marcin Robak Nico Klasens wrote: Hello Marcin Robak, The website I am working on uses oracle 9 and MMBase 1.7 too. My guess is that you are using the storagemanagerfactory in the mmbaseroot.xml. This one does not support oracle. And if it runs it does not use the strength of oracle (eg. Views). Look at the log files and you will probably see that the creation of tables failed.We use the old database layer which has a oracle-with-views implementation which works after fixing some bugs :-). I didn't take the time yet to commit it back to the mmbase sources, because there are some hardcoded schemas in the source. See the attached file Sql92WithViews.java. I don't know if storing of blobs is working in this implementation. We don't store attachments and images in the database. Clobs are working fine with large string fields. I made another change in the file org.mmbase.module.core.MMObjectBuilder. The constant MAX_QUERY_SIZE is set to 20000, but oracle 9 has a limit of 1000. The mmbaseroot.xml should have a commented out storagemanagerfactory and a line like <property name="database">oracle-with-views</property> Another thing you have to fix manually are the delete contraints on the tables otherwise you will get unused records in your tables. ALTER TABLE <prefix>_<type> add CONSTRAINT fk_<prefix>_<type> FOREIGN KEY (m_number) REFERENCES <prefix>_object(m_number) ON DELETE CASCADE; Add indexes to the important fields CREATE INDEX idx_object_number ON <prefix>_insrel(snumber); CREATE INDEX idx_object_number ON <prefix>_insrel(dnumber); And run cost-based statistics in production to boost performance. If you want more accurate help please post some parts of the log files then we can help you out much better. Nico PS The property 'driver' is not in your email. I assume you did change this to oracle.jdbc.driver.OracleDriver-----Oorspronkelijk bericht----- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Namens [EMAIL PROTECTED] Verzonden: woensdag 3 november 2004 14:42 Aan: [EMAIL PROTECTED] Onderwerp: MMBase 1.7.1 and Oracle 9 Hi all I am strongly interested in trying MMBase 1.7.1 with Oracle. Mr Pierre van Rooden has written that he would might explain how to set it up. I have followed all steps of database configuration. It means that I have done: 1. edition of jdbs.xml: <property name="url">jdbc:oracle:thin:@$HOST:$PORT:$DBM</property> <property name="user">mmuser</property> <property name="password">mmpass</property> <property name="supportclass"> org.mmbase.module.database.DatabaseSupportShim</property> <property name="database">mmbase01</property> <property name="connections">20</property> <property name="host">test04<!--localhost--></property> <property name="port">1521</property> <property name="queries">256</property> <property name="probetime">30</property> 2. creating database on Oracle on host test04, database mmbase01, user mmuser, passwors mmpass 3. copying Oracle JDBC driver for JDK 1.4.1 I use Tomcat 5.0 application server, MMBase 1.7.1 and Oracle 9. AN unviseral database viewer (DbVisualizer) connects to this database and everything seems to be OK but MMBase doesn't work. It shows error: "The server encountered an internal error () that prevented it from fulfilling this request." All help is more than welcome. Marcin Robak |
- MMBase 1.7.1 and Oracle 9 robaq
- RE: MMBase 1.7.1 and Oracle 9 Nico Klasens
- Marcin Robak
