fuel でのoracle接続について

541 views
Skip to first unread message

toshiyuki

unread,
Dec 14, 2015, 9:05:41 PM12/14/15
to fuelphp.jp
初めて質問させていただく初心者です。
よろしくお願いいたします。

DB::query($strSql)->execute();
を実行すると以下のエラーが出るのですが、どのような原因が考えられるのでしょうか?
申し訳ございませんが、ヒントなどありましたら教えてください。

db.phpの記述ミス的なものと思うのですが、
詰まっております。

よろしくお願いいたします。

エラーメッセージ
=======================================

InvalidArgumentException [ Error ]:
Arr::merge() - all arguments must be arrays.

COREPATH/classes/arr.php @ line 854


========================================

開発環境は以下のとおりです。
windows7(32bit)
xampp 3.2.1
netbeans 8.0.2
php5.6(shift_JIS)
oracle12C(JA16SJIS)

db.php
は以下のように設定していてます。
return array(
    'default' => array(
            'type' => 'pdo',
            'connection'  => array(
                    'dsn'        => 'oci:dbname=TEST.WORLD',
                    'username'   => '????????',
                    'password'   => '????????',
                    'persistent' => false,
                    'compress'   => false,
            ),
            'identifier' => '',
            'table_prefix' => '',
    ),
);

Kenji Suzuki

unread,
Dec 15, 2015, 3:09:57 AM12/15/15
to fuelphp.jp
Kenji です。


エラーの出ている

COREPATH/classes/arr.php @ line 854

の原因となる変数の値を var_dump() などで表示してみると

何かわかるのではと思います。


エラーメッセージは

Arr::merge() - all arguments must be arrays.

なので、Arr::merge() に配列でない値が渡されたことがエラーの原因ですね。



// Kenji



2015年12月15日火曜日 11時05分41秒 UTC+9 toshiyuki:

toshiyuki

unread,
Dec 15, 2015, 8:35:40 PM12/15/15
to fuelphp.jp
ご返信ありがとうございます。
内容はわかりませんが、
環境の切替がありませんでしたので、
db.php(config直下)のみを記述していたのですが。

development、production、staging、testのしたの
db.phpは記述していませんでした。
こちらにも記入したら先に進むことが出来ました。

もしかして、環境が1つしかない場合は、dbファイル自体
(config直下)のみ作成すればよいのでしょうか?


基本的なことですいませんです。








2015年12月15日火曜日 11時05分41秒 UTC+9 toshiyuki:

Kenji Suzuki

unread,
Dec 17, 2015, 4:52:44 PM12/17/15
to fuelp...@googlegroups.com
Kenji です。


On Tue, 15 Dec 2015 17:35:39 -0800 (PST)
toshiyuki <ptoshiy...@gmail.com> wrote:

> ご返信ありがとうございます。
> 内容はわかりませんが、
> 環境の切替がありませんでしたので、
> db.php(config直下)のみを記述していたのですが。
>
> development、production、staging、testのしたの
> db.phpは記述していませんでした。
> こちらにも記入したら先に進むことが出来ました。

よくわかりませんが、そちらの設定が配列を返さない間違ったもの
だったということでしょうかね?

空のファイルがあるとエラーが出るとかでしょうか?


> もしかして、環境が1つしかない場合は、dbファイル自体
> (config直下)のみ作成すればよいのでしょうか?

環境と設定ファイルの関係は以下にあります。
http://fuelphp.jp/docs/1.8/general/environments.html#/env_config

config/db.php にすべての設定を記述すれば、それだけで
動作するはずですが、通常、パスワードやユーザなどが異なる
ためそれらは development/db/config.php などに記載する
ことが推奨されます。


// Kenji
> --
> このメールは Google グループのグループ「fuelphp.jp」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには fuelphp_jp+...@googlegroups.com にメールを送信してください。
> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

toshiyuki

unread,
Jan 5, 2016, 2:20:30 AM1/5/16
to fuelphp.jp
お世話になります、
ご連絡ありがとうございました。
大変参考になりました。
(返信遅くなりすいませんでした。)

今後ともよろしくお願いいたします。

2015年12月15日火曜日 11時05分41秒 UTC+9 toshiyuki:
Reply all
Reply to author
Forward
0 new messages