すでに開発が完了し運用がされている既存サービスの、改良版の開発に途中から参加しています。ローカルPCで開発環境を整えるため、FuelPHPで作成された既存サービスのソースコードをcloneし、windows機上にインストールしたVirtual box + vagrantを用いて以下の仮想環境を整えました。
- CentOS 7.4
- Apache 2.4.6
- PHP 7.3.22
- Microsoft SQL server 2017
DBとの接続のため、仮想環境上にmicrosoftのODBC driver 17 for SQL serverをインストールしています。また、既存サービスの開発環境で使用されていた、DBのテストデータ (.bacpacファイル) を受け取り、SQL Server Management Studioからデータのインポートを行いまいた。
Fuel\Core\Database_Exception [ 42S22 (207) ]: SQLSTATE[42S22]: Column not found: 207 [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid column name 'N'. (SQLExecute[207] at /builddir/build/BUILD/php-7.3.22/ext/pdo_odbc/odbc_stmt.c:259) with query: "SELECT t0.id AS t0_c0, t0.grouping_id AS t0_c1, t0.watcher_id AS t0_c2,... (以下同じように続くので中略)...t2.updated_at AS t2_c15 FROM grouping_watchers AS t0 LEFT JOIN groupings AS t1 ON (t0.grouping_id = t1.id) LEFT JOIN watchers AS t2 ON (t0.watcher_id = t2.id) WHERE t2.account_id = N"
エラーの中身が長くなってしまい恐縮ですが、要するにInvalid column name 'N'
というエラーだと思っています。SQLserverでは日本語文字のインサートの際、'N'を頭に付ける (参考: SQLServerに日本語データをInsertすると文字化けする。 - あとらすの備忘録) ということはわかりましたが、実際どうすればこのエラーが解消するのかわかりかねています。
情報が少なく答えにくい質問となってしまっているかもしれませんが、何か少しでもヒントになることや試してみるとよいこと等ご教示いただけると嬉しいです。よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。