Index: branches/version-2_12-dev/data/class/SC_Initial.php
===================================================================
--- branches/version-2_12-dev/data/class/SC_Initial.php	(revision 21796)
+++ branches/version-2_12-dev/data/class/SC_Initial.php	(revision 21830)
@@ -83,4 +83,5 @@
      * @access protected
      * @return void
+     * @deprecated 下位互換用
      */
     function defineDSN() {
@@ -90,4 +91,5 @@
             $dsn = DB_TYPE . '://' . DB_USER . ':' . DB_PASSWORD . '@' . DB_SERVER . ':' . DB_PORT . '/' . DB_NAME;
             /** サイト用DB */
+            // ここで生成した DSN は使用せず, SC_Query のコンストラクタでパラメータを設定する.
             define('DEFAULT_DSN', $dsn);
         }
Index: branches/version-2_12-dev/data/class/SC_Query.php
===================================================================
--- branches/version-2_12-dev/data/class/SC_Query.php	(revision 21767)
+++ branches/version-2_12-dev/data/class/SC_Query.php	(revision 21830)
@@ -49,6 +49,13 @@
     function __construct($dsn = '', $force_run = false, $new = false) {
 
-        if ($dsn == '') {
-            $dsn = DEFAULT_DSN;
+        if ($dsn == "") {
+            $dsn = array('phptype'  => DB_TYPE,
+                         'username' => DB_USER,
+                         'password' => DB_PASSWORD,
+                         'protocol' => 'tcp',
+                         'hostspec' => DB_SERVER,
+                         'port'     => DB_PORT,
+                         'database' => DB_NAME
+                         );
         }
 
Index: branches/version-2_12-dev/data/class/db/SC_DB_DBFactory.php
===================================================================
--- branches/version-2_12-dev/data/class/db/SC_DB_DBFactory.php	(revision 21553)
+++ branches/version-2_12-dev/data/class/db/SC_DB_DBFactory.php	(revision 21830)
@@ -53,15 +53,22 @@
      * データソース名を取得する.
      *
-     * 引数 $dsn が空の場合は, DEFAULT_DSN の値を返す.
+     * 引数 $dsn が空でデータソースが定義済みの場合はDB接続パラメータの連想配列を返す
      * DEFAULT_DSN が未定義の場合は void となる.
      * $dsn が空ではない場合は, $dsn の値を返す.
      *
-     * @param string $dsn データソース名
-     * @return void|string データソース名
+     * @param mixed $dsn データソース名
+     * @return mixed データソース名またはDB接続パラメータの連想配列
      */
     function getDSN($dsn = '') {
         if (empty($dsn)) {
             if (defined('DEFAULT_DSN')) {
-                $dsn = DEFAULT_DSN;
+                $dsn = array('phptype'  => DB_TYPE,
+                             'username' => DB_USER,
+                             'password' => DB_PASSWORD,
+                             'protocol' => 'tcp',
+                             'hostspec' => DB_SERVER,
+                             'port'     => DB_PORT,
+                             'database' => DB_NAME
+                             );
             } else {
                 return '';
