<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 12, comments - 19, trackbacks - 0, articles - 23
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    sakai安裝配置(三)

    Posted on 2006-09-08 17:16 毛里求斯的化石 閱讀(1955) 評論(1)  編輯  收藏 所屬分類: 開源

    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 sakaiuser@'localhost' identified by 'sakaipassword';

    Query OK, 0 rows affected (0.00 sec

    ?

    mysql> grant all on sakai.* to sakaiuser@'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

    vendor@org.sakaiproject.db.api.SqlService=mysql

    driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver

    url@javax.sql.BaseDataSource=jdbc:mysql://SERVER:3306/DB?useUnicode=true&characterEncoding=UTF-8

    username@javax.sql.BaseDataSource=USER

    password@javax.sql.BaseDataSource=PASSWORD

    validationQuery@javax.sql.BaseDataSource=select 1 from DUAL

    defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED

    Oracle:

    hibernate.dialect=org.hibernate.dialect.Oracle9Dialect

    vendor@org.sakaiproject.db.api.SqlService=oracle

    driverClassName@javax.sql.BaseDataSource=oracle.jdbc.driver.OracleDriver

    url@javax.sql.BaseDataSource=jdbc:oracle:thin:@SERVER:1521:DB

    username@javax.sql.BaseDataSource=USER

    password@javax.sql.BaseDataSource=PASSWORD

    validationQuery@javax.sql.BaseDataSource=select 1 from DUAL

    defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED

    Oracle 的性能

    如果采用和 mysql 或者 HSQL 類似的配置, oracle 可能會出現一些性能方面的問題,因此 sakai 強烈建議采用 oracle 數據庫時采用以下配置來避免可能出現的性能問題:

    # For improved Oracle performance (from the University of Michigan)

    validationQuery@javax.sql.BaseDataSource=

    defaultTransactionIsolationString@javax.sql.BaseDataSource=

    testOnBorrow@javax.sql.BaseDataSource=false

    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.

    主站蜘蛛池模板: 亚洲高清国产AV拍精品青青草原 | 免费在线观看一级片| 亚洲AV日韩AV永久无码绿巨人| 18未年禁止免费观看| 国产AV无码专区亚洲AV琪琪 | 亚洲精品一区二区三区四区乱码 | 99视频在线免费看| 亚洲图片校园春色| 免费国产在线观看老王影院| 一区二区三区无码视频免费福利| 亚洲乱码中文字幕小综合| 亚洲精品国产精品乱码不卞| 99久久人妻精品免费一区| 亚洲av成人中文无码专区| 亚洲国产精品国自产拍AV| 宅男666在线永久免费观看| 野花香高清视频在线观看免费 | 亚洲欧美日韩综合久久久| 久久久久久久亚洲精品| 在线看片无码永久免费视频| 一个人免费播放在线视频看片 | 久久er国产精品免费观看2| 亚洲中文字幕无码爆乳| 久久九九亚洲精品| 免费国产成人午夜私人影视| 1a级毛片免费观看| 精品一区二区三区高清免费观看| 亚洲日本人成中文字幕| 国产成人A人亚洲精品无码| 日本大片在线看黄a∨免费| 99re热精品视频国产免费| 人妻无码中文字幕免费视频蜜桃 | 久久免费公开视频| 免费人成网上在线观看| 亚洲一区二区三区无码国产| 亚洲色中文字幕无码AV| 免费人成在线观看网站品爱网日本| 又大又硬又爽又粗又快的视频免费| 精品国产呦系列在线观看免费| 亚洲日韩精品无码专区| 亚洲精品中文字幕无码AV|