當前位置:首頁 > 資訊 > info6 > 正文

sakai配置(中文版)(三)

發表于: 2007-05-14   作者:cheayu   來源:轉載   瀏覽:
摘要: 5.數據庫配置5.1.從早期版本移植從2.2.0到2.2.1,sakai提供了mysql和oracle的轉換腳本,保存在以下目錄reference/docs/updating,從以下網址也可以獲得:MySQL:https://source.sakaiproject.org/svn/reference/tags/sakai_2-2-1/docs/conversion/sakai_2_2_0-2_2_
5. 數據庫配置
5.1. 從早期版本移植
2.2.0 2.2.1 sakai 提供了 mysql oracle 的轉換腳本,保存在以下目錄 reference/docs/updating ,從以下網址也可以獲得:
MySQL:
https://source.sakaiproject.org/svn/reference/tags/sakai_2-2-1/docs/conversion/sakai_2_2_0-2_2_1_mysql_conversion.sql
Oracle:
https://source.sakaiproject.org/svn/reference/tags/sakai_2-2-1/docs/conversion/sakai_2_2_0-2_2_1_oracle_conversion.sql
在該目錄下,你還可以發現其他版本的轉換腳本。另外,需要注意的是,如果你是從更早期的版本升級到當前版本,則需要依次執行相應腳本,比如,如果你要從 2.1.2 升級到 2.2.1 ,則需要先執行 2.1.2 2.2.0 的轉換腳本,然后再執行 2.2.0 2.2.1 的轉換腳本。
5.2. 驅動配置
Sakai 支持的產品級的數據庫包括 MySQL 4.1.12+ (注意, MySQL 5.0 還未經過充分測試)和 oracle9i+ JDBC 驅動的版本也很重要, 對于 mysql 來說,需要用 MySQL a 3.1.12+ 連接器,對于 oracle 來說必須用 10g 的驅動,即使數據庫版本是 9i ,這些驅動應該放到 $CATALINA_HOME/common/lib 目錄下,相應的驅動可以從以下網址獲得:
MySQL:
http://dev.mysql.com/downloads/connector/j/3.1.html
Oracle:
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
5.3. 創建數據庫和用戶
在使用 sakai 之前,必須先創建一個 sakai 數據庫,并建立相應的特權用戶,下面以 mysql 為例說明操作的過程:
C:/sakai/reference/sql/legacy/mysql/>
mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or /g.
 
Your MySQL connection id is 51 to server version: 4.1.5-gamma-nt
 
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
 
mysql> create database sakai default character set utf8;
Query OK, 1 row affected (0.00 sec)
 
mysql> grant all on sakai.* to [email protected]'localhost' identified by 'sakaipassword';
Query OK, 0 rows affected (0.00 sec
 
mysql> grant all on sakai.* to [email protected]'127.0.0.1' identified by 'sakaipassword';
Query OK, 0 rows affected (0.00 sec)
 
mysql> quit
UTF-8 字符集
創建數據庫時,必須確保使用 UTF-8 字符集,就像 tomcat 也必須配置成 UTF-8 字符集一樣。如果你不確定你的數據庫的當前配置,你可以通過 sql 來查詢,下面是以 oralce 為例,說明如何確定你的數據庫使用的字符集:
SQL> select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET';
VALUE
--------------------------------------------------------------------------------
AL32UTF8
5.4. Database 屬性
數據庫的屬性也是在 sakai.properties 文件中進行配置,以下分別是 mysql oracle 數據庫的配置信息,你所需要的是根據自己的具體設置來進行本地化的修改:
MySQL:
hibernate.dialect=org.hibernate.dialect.MySQLDialect
[email protected]=com.mysql.jdbc.Driver
[email protected]=jdbc:mysql://SERVER:3306/DB?useUnicode=true&characterEncoding=UTF-8
[email protected]=select 1 from DUAL
[email protected]=TRANSACTION_READ_COMMITTED
Oracle:
hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
[email protected]=oracle.jdbc.driver.OracleDriver
[email protected]=jdbc:oracle:thin:@SERVER:1521:DB
[email protected]=select 1 from DUAL
[email protected]=TRANSACTION_READ_COMMITTED
Oracle 的性能
如果采用和 mysql 或者 HSQL 類似的配置, oracle 可能會出現一些性能方面的問題,因此 sakai 強烈建議采用 oracle 數據庫時采用以下配置來避免可能出現的性能問題:
# For improved Oracle performance (from the University of Michigan)
oracle 將自動配置前兩項的值。
一旦你修改了數據庫的配置,你只需重起 tomcat 即可生效,可以查看啟動日志,看是否有數據庫連接方面的錯誤。
Oracle and Tests&Quizzes
如果你使用的是 oracle 數據庫,你還必須檢查 SAM_MEDIA_T 表中的 MEDIA 字段, hibernate 能夠為每個字段選擇正確的數據類型,但是在這個字段上,對于 oracle 經常會出現錯誤。對于不同數據庫,正確的數據類型應該是如下:
HSQL:
varbinary
MySQL:
longblob
Oracle:
blob
如果你需要在你的數據庫中改變這個字段的數據類型,你還必須重建該表的主鍵,以下是一個例子:
SQL> alter table SAM_MEDIA_T modify MEDIA BLOB;
Table altered.
SQL> select constraint_name from user_constraints where table_name='SAM_MEDIA_T'
and CONSTRAINT_TYPE='P';
CONSTRAINT_NAME
------------------------------
SYS_C0064435
SQL> alter table sam_media_t drop constraint SYS_C0064435;
Table altered.
SQL> alter table SAM_MEDIA_T add constraint SYS_C0064435 primary key (MEDIAID);
Table altered.
SQL> desc SAM_MEDIA_T;
[table with BLOB type]
SQL> select constraint_name from user_constraints where table_name='SAM_MEDIA_T'
and CONSTRAINT_TYPE='P';
CONSTRAINT_NAME
------------------------------
SYS_C0064435
SQL> commit;
Commit complete.

sakai配置(中文版)(三)

版權所有 IT知識庫 CopyRight ? 2009-2015 IT知識庫 IT610.com , All Rights Reserved. 京ICP備09083238號
广东25选5开奖结果