質問するログイン新規登録

質問編集履歴

13

解決!!

2016/07/06 08:49

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -131,4 +131,15 @@
131
131
  ついでに'encoding' => 932(SIFT_JIS)もだめでした。
132
132
  ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。
133
133
 
134
- ちなみに基幹システムのDBはutf-8にて作成されているので、特に変更の必要は無いはずですが、encodingエラーのためWindows-31Jに変更してみました
134
+ ちなみに基幹システムのDBはutf-8にて作成されているので、特に変更の必要は無いはずですが、encodingエラーのためWindows-31Jに変更してみました
135
+
136
+ 追記⑤:
137
+ ```php
138
+ \config\app.php
139
+
140
+ 'encoding' => PDO::SQLSRV_ENCODING_UTF8,
141
+
142
+ ```
143
+ こちらで無事つながることを確認しました。
144
+
145
+ 参考URL:http://stackoverflow.com/questions/20042778/cakephp-sqlserver-encoding

12

修正

2016/07/06 08:49

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ###前提・実現したいこと
2
2
  Microsoft SqlServer2008 をCakephp3にて使用したい。
3
3
 
4
- デフォルトではPHPMyAdminにて作成したDBを使用し、基幹システムで使用しているDB(SqlServer2008の情報を元に、デフォルトでつないでいるDBへデータの登録をしたいと思っています。
4
+ デフォルトではPHPMyAdminにて作成したDBを使用し、別のDBに登録しているSqlServer2008の情報を元に、デフォルトでつないでいるDBへデータの登録をしたいと思っています。
5
5
 
6
6
 
7
7
  ###発生している問題・エラーメッセージ
@@ -27,9 +27,6 @@
27
27
 
28
28
  ],
29
29
  '****system' => [
30
- /**
31
- * 基幹システム
32
- */
33
30
  'className' => 'Cake\Database\Connection',
34
31
  'driver' => 'Cake\Database\Driver\Sqlserver',
35
32
  'persistent' => false,
@@ -124,7 +121,6 @@
124
121
  'password' => '',
125
122
  'database' => 'cake',
126
123
  // PDO::SQLSRV_ENCODING_UTF8
127
- // PDO::SQLSRV_ENCODING_Windows-31J
128
124
  'encoding' => 2024,
129
125
  'flags' => [],
130
126
  'init' => [],

11

S-jisの結果を追加

2016/07/06 04:55

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -132,6 +132,7 @@
132
132
  ];
133
133
  ```
134
134
  'encoding' => 65001,(UTF-8)から'encoding' => 2024,(Windows-31J)に変更してみましたがエラーが発生しました。
135
+ ついでに'encoding' => 932(SIFT_JIS)もだめでした。
135
136
  ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。
136
137
 
137
138
  ちなみに基幹システムのDBはutf-8にて作成されているので、特に変更の必要は無いはずですが、encodingエラーのためWindows-31Jに変更してみました

10

備考追加

2016/07/05 07:54

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -132,4 +132,6 @@
132
132
  ];
133
133
  ```
134
134
  'encoding' => 65001,(UTF-8)から'encoding' => 2024,(Windows-31J)に変更してみましたがエラーが発生しました。
135
- ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。
135
+ ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。
136
+
137
+ ちなみに基幹システムのDBはutf-8にて作成されているので、特に変更の必要は無いはずですが、encodingエラーのためWindows-31Jに変更してみました

9

追記④を追加

2016/07/05 04:53

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -104,4 +104,32 @@
104
104
  ```
105
105
  とエラーになります。
106
106
  http://book.cakephp.org/3.0/ja/orm/database-basics.html
107
- の「Select 文の実行」を参考にソースを記載しました。
107
+ の「Select 文の実行」を参考にソースを記載しました。
108
+ →ODBCドライバをインストールしたところ、上記エラーは発生しなくなりました
109
+
110
+ 追記④:
111
+ 現在、****systemにつなぐためにソースを記載し実行すると以下のエラー が発生します。
112
+ ```
113
+ Error: SQLSTATE[IMSSP]: An invalid encoding was specified for SQLSRV_ATTR_ENCODING.
114
+ ```
115
+ とエラーになります。
116
+ http://itdoc.hitachi.co.jp/manuals/3020/30203M0360/EM030327.HTM
117
+ 上記を参考に文字コードの設定を「Windows-31J」に以下のファイルを変更しています。
118
+ \vendor\cakephp\cakephp\src\Database\Driver\Sqlserver.php
119
+ ```php
120
+ protected $_baseConfig = [
121
+ 'persistent' => false,
122
+ 'host' => 'localhost\SQLEXPRESS',
123
+ 'username' => '',
124
+ 'password' => '',
125
+ 'database' => 'cake',
126
+ // PDO::SQLSRV_ENCODING_UTF8
127
+ // PDO::SQLSRV_ENCODING_Windows-31J
128
+ 'encoding' => 2024,
129
+ 'flags' => [],
130
+ 'init' => [],
131
+ 'settings' => [],
132
+ ];
133
+ ```
134
+ 'encoding' => 65001,(UTF-8)から'encoding' => 2024,(Windows-31J)に変更してみましたがエラーが発生しました。
135
+ ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。

8

気になることを削除

2016/07/05 02:31

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -104,8 +104,4 @@
104
104
  ```
105
105
  とエラーになります。
106
106
  http://book.cakephp.org/3.0/ja/orm/database-basics.html
107
- の「Select 文の実行」を参考にソースを記載しました。
107
+ の「Select 文の実行」を参考にソースを記載しました。
108
-
109
- 気になることとしては
110
- phpinfo();
111
- を確認すると、pdo_sqlsrv supportのenabledがブランクであることが気になっています。

7

追記を修正

2016/07/04 08:59

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -89,6 +89,23 @@
89
89
 
90
90
  C:\xampp\php\extには「php5.dll」は存在していません。
91
91
 
92
+ →2016/07/04:追記
93
+ 使用中のPHPのバージョンを確認し、再度入れるファイルを確認したところ、「5.6.23」だったため、
94
+ php_sqlsrv_56_ts.dll
95
+ php_pdo_sqlsrv_56_ts.dll
96
+ を入れなおしました。
97
+ phpinfo();
98
+ を確認すると、PDOのenabledが「sqlsrv, mysql, sqlite 」となることを確認しました。
92
99
 
93
100
  追記③:
94
- 現在「php5.dll」中です。
101
+ 現在、****systemにつなぐためにソース記載実行ると以下のエラー が発生します
102
+ ```
103
+ Error: SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver 11 for SQL Server to communicate with SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712
104
+ ```
105
+ とエラーになります。
106
+ http://book.cakephp.org/3.0/ja/orm/database-basics.html
107
+ の「Select 文の実行」を参考にソースを記載しました。
108
+
109
+ 気になることとしては
110
+ phpinfo();
111
+ を確認すると、pdo_sqlsrv supportのenabledがブランクであることが気になっています。

6

いろいろ追記

2016/07/04 08:19

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  ###補足情報(言語/FW/ツール等のバージョンなど)
54
54
 
55
- SqlServer2008、Cakephp3、Windows
55
+ SqlServer2008、Cakephp3、Windows7
56
56
 
57
57
  追記①:
58
58
  phpinfo();
@@ -76,4 +76,19 @@
76
76
  必要とされているファイル
77
77
  php_sqlsrv_53_nts_vc6.dll
78
78
  php_pdo_sqlsrv_53_nts_vc6.dll
79
- がダウンロードできませんでした。
79
+ がダウンロードできませんでした。
80
+
81
+ →SQLSRV20.EXEを再度インストールしなおしたところ
82
+ php_sqlsrv_53_nts_vc6.dll
83
+ php_pdo_sqlsrv_53_nts_vc6.dll
84
+ がダウンロードできました。
85
+
86
+
87
+ が、、、XAMMPのAPACHEを動かすと
88
+ 「コンピューターにphp5.dllがないため、プログラムを開始できません。コノ問題を解決するには、プログラムを再インストールしてみてください」とシステムエラーが発生しました。
89
+
90
+ C:\xampp\php\extには「php5.dll」は存在していません。
91
+
92
+
93
+ 追記③:
94
+ 現在「php5.dll」を探し中です。

5

追記②を修正

2016/07/01 07:00

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -68,4 +68,12 @@
68
68
  extension=php_pdo.dll
69
69
  extension=php_pdo_mysql.dll
70
70
  extension=php_sqlsrv_53_nts_vc6.dll
71
- extension=php_pdo_sqlsrv_53_nts_vc6.dll
71
+ extension=php_pdo_sqlsrv_53_nts_vc6.dll
72
+
73
+ →ファイルを再度確認したところ、
74
+ https://www.microsoft.com/en-us/download/details.aspx?id=20098
75
+ からexeを落としてファイルを解凍しましたが、
76
+ 必要とされているファイル
77
+ php_sqlsrv_53_nts_vc6.dll
78
+ php_pdo_sqlsrv_53_nts_vc6.dll
79
+ がダウンロードできませんでした。

4

追記②を追加

2016/07/01 06:39

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -56,4 +56,16 @@
56
56
 
57
57
  追記①:
58
58
  phpinfo();
59
- を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServerが含まれていないのが原因かと思っています。
59
+ を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServerが含まれていないのが原因かと思っています。
60
+
61
+ 追記②:
62
+ 実行したこと
63
+ https://blogs.msdn.microsoft.com/osamum/2010/09/26/php-ms-sql-server/
64
+ を参考に
65
+ SQLSRV20.EXEをダウンロードし、ファイルをC:\xampp\php\extに配置し、
66
+ php.iniに以下を記載しましたが、だめでした。
67
+
68
+ extension=php_pdo.dll
69
+ extension=php_pdo_mysql.dll
70
+ extension=php_sqlsrv_53_nts_vc6.dll
71
+ extension=php_pdo_sqlsrv_53_nts_vc6.dll

3

誤字修正

2016/07/01 06:27

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -56,4 +56,4 @@
56
56
 
57
57
  追記①:
58
58
  phpinfo();
59
- を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServweが含まれていないのが原因かと思っています。
59
+ を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServerが含まれていないのが原因かと思っています。

2

補足情報を追加

2016/07/01 06:18

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  ###補足情報(言語/FW/ツール等のバージョンなど)
54
54
 
55
- SqlServer2008、Cakephp3
55
+ SqlServer2008、Cakephp3、Windows
56
56
 
57
57
  追記①:
58
58
  phpinfo();

1

phpinfo\(\);の内容を追加

2016/07/01 06:13

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -52,4 +52,8 @@
52
52
 
53
53
  ###補足情報(言語/FW/ツール等のバージョンなど)
54
54
 
55
- SqlServer2008、Cakephp3
55
+ SqlServer2008、Cakephp3
56
+
57
+ 追記①:
58
+ phpinfo();
59
+ を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServweが含まれていないのが原因かと思っています。