質問編集履歴

13

解決!!

2016/07/06 08:49

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -265,3 +265,25 @@
265
265
 
266
266
 
267
267
  ちなみに基幹システムのDBはutf-8にて作成されているので、特に変更の必要は無いはずですが、encodingエラーのためWindows-31Jに変更してみました
268
+
269
+
270
+
271
+ 追記⑤:
272
+
273
+ ```php
274
+
275
+ \config\app.php
276
+
277
+
278
+
279
+ 'encoding' => PDO::SQLSRV_ENCODING_UTF8,
280
+
281
+
282
+
283
+ ```
284
+
285
+ こちらで無事つながることを確認しました。
286
+
287
+
288
+
289
+ 参考URL:http://stackoverflow.com/questions/20042778/cakephp-sqlserver-encoding

12

修正

2016/07/06 08:49

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- デフォルトではPHPMyAdminにて作成したDBを使用し、基幹システムで使用しているDB(SqlServer2008の情報を元に、デフォルトでつないでいるDBへデータの登録をしたいと思っています。
7
+ デフォルトではPHPMyAdminにて作成したDBを使用し、別のDBに登録しているSqlServer2008の情報を元に、デフォルトでつないでいるDBへデータの登録をしたいと思っています。
8
8
 
9
9
 
10
10
 
@@ -56,12 +56,6 @@
56
56
 
57
57
  '****system' => [
58
58
 
59
- /**
60
-
61
- * 基幹システム
62
-
63
- */
64
-
65
59
  'className' => 'Cake\Database\Connection',
66
60
 
67
61
  'driver' => 'Cake\Database\Driver\Sqlserver',
@@ -250,8 +244,6 @@
250
244
 
251
245
  // PDO::SQLSRV_ENCODING_UTF8
252
246
 
253
- // PDO::SQLSRV_ENCODING_Windows-31J
254
-
255
247
  'encoding' => 2024,
256
248
 
257
249
  'flags' => [],

11

S-jisの結果を追加

2016/07/06 04:55

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -266,6 +266,8 @@
266
266
 
267
267
  'encoding' => 65001,(UTF-8)から'encoding' => 2024,(Windows-31J)に変更してみましたがエラーが発生しました。
268
268
 
269
+ ついでに'encoding' => 932(SIFT_JIS)もだめでした。
270
+
269
271
  ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。
270
272
 
271
273
 

10

備考追加

2016/07/05 07:54

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -267,3 +267,7 @@
267
267
  'encoding' => 65001,(UTF-8)から'encoding' => 2024,(Windows-31J)に変更してみましたがエラーが発生しました。
268
268
 
269
269
  ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。
270
+
271
+
272
+
273
+ ちなみに基幹システムのDBはutf-8にて作成されているので、特に変更の必要は無いはずですが、encodingエラーのためWindows-31Jに変更してみました

9

追記④を追加

2016/07/05 04:53

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -211,3 +211,59 @@
211
211
  http://book.cakephp.org/3.0/ja/orm/database-basics.html
212
212
 
213
213
  の「Select 文の実行」を参考にソースを記載しました。
214
+
215
+ →ODBCドライバをインストールしたところ、上記エラーは発生しなくなりました
216
+
217
+
218
+
219
+ 追記④:
220
+
221
+ 現在、****systemにつなぐためにソースを記載し実行すると以下のエラー が発生します。
222
+
223
+ ```
224
+
225
+ Error: SQLSTATE[IMSSP]: An invalid encoding was specified for SQLSRV_ATTR_ENCODING.
226
+
227
+ ```
228
+
229
+ とエラーになります。
230
+
231
+ http://itdoc.hitachi.co.jp/manuals/3020/30203M0360/EM030327.HTM
232
+
233
+ 上記を参考に文字コードの設定を「Windows-31J」に以下のファイルを変更しています。
234
+
235
+ \vendor\cakephp\cakephp\src\Database\Driver\Sqlserver.php
236
+
237
+ ```php
238
+
239
+ protected $_baseConfig = [
240
+
241
+ 'persistent' => false,
242
+
243
+ 'host' => 'localhost\SQLEXPRESS',
244
+
245
+ 'username' => '',
246
+
247
+ 'password' => '',
248
+
249
+ 'database' => 'cake',
250
+
251
+ // PDO::SQLSRV_ENCODING_UTF8
252
+
253
+ // PDO::SQLSRV_ENCODING_Windows-31J
254
+
255
+ 'encoding' => 2024,
256
+
257
+ 'flags' => [],
258
+
259
+ 'init' => [],
260
+
261
+ 'settings' => [],
262
+
263
+ ];
264
+
265
+ ```
266
+
267
+ 'encoding' => 65001,(UTF-8)から'encoding' => 2024,(Windows-31J)に変更してみましたがエラーが発生しました。
268
+
269
+ ※'encoding' => 65001,(UTF-8)でも同様のエラーでした。

8

気になることを削除

2016/07/05 02:31

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -211,11 +211,3 @@
211
211
  http://book.cakephp.org/3.0/ja/orm/database-basics.html
212
212
 
213
213
  の「Select 文の実行」を参考にソースを記載しました。
214
-
215
-
216
-
217
- 気になることとしては
218
-
219
- phpinfo();
220
-
221
- を確認すると、pdo_sqlsrv supportのenabledがブランクであることが気になっています。

7

追記を修正

2016/07/04 08:59

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -180,8 +180,42 @@
180
180
 
181
181
 
182
182
 
183
+ →2016/07/04:追記
184
+
185
+ 使用中のPHPのバージョンを確認し、再度入れるファイルを確認したところ、「5.6.23」だったため、
186
+
187
+ php_sqlsrv_56_ts.dll
188
+
189
+ php_pdo_sqlsrv_56_ts.dll
190
+
191
+ を入れなおしました。
192
+
193
+ phpinfo();
194
+
195
+ を確認すると、PDOのenabledが「sqlsrv, mysql, sqlite 」となることを確認しました。
196
+
183
197
 
184
198
 
185
199
  追記③:
186
200
 
187
- 現在「php5.dll」中です。
201
+ 現在、****systemにつなぐためにソース記載実行ると以下のエラー が発生します
202
+
203
+ ```
204
+
205
+ 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
206
+
207
+ ```
208
+
209
+ とエラーになります。
210
+
211
+ http://book.cakephp.org/3.0/ja/orm/database-basics.html
212
+
213
+ の「Select 文の実行」を参考にソースを記載しました。
214
+
215
+
216
+
217
+ 気になることとしては
218
+
219
+ phpinfo();
220
+
221
+ を確認すると、pdo_sqlsrv supportのenabledがブランクであることが気になっています。

6

いろいろ追記

2016/07/04 08:19

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
 
108
108
 
109
- SqlServer2008、Cakephp3、Windows
109
+ SqlServer2008、Cakephp3、Windows7
110
110
 
111
111
 
112
112
 
@@ -155,3 +155,33 @@
155
155
  php_pdo_sqlsrv_53_nts_vc6.dll
156
156
 
157
157
  がダウンロードできませんでした。
158
+
159
+
160
+
161
+ →SQLSRV20.EXEを再度インストールしなおしたところ
162
+
163
+ php_sqlsrv_53_nts_vc6.dll
164
+
165
+ php_pdo_sqlsrv_53_nts_vc6.dll
166
+
167
+ がダウンロードできました。
168
+
169
+
170
+
171
+
172
+
173
+ が、、、XAMMPのAPACHEを動かすと
174
+
175
+ 「コンピューターにphp5.dllがないため、プログラムを開始できません。コノ問題を解決するには、プログラムを再インストールしてみてください」とシステムエラーが発生しました。
176
+
177
+
178
+
179
+ C:\xampp\php\extには「php5.dll」は存在していません。
180
+
181
+
182
+
183
+
184
+
185
+ 追記③:
186
+
187
+ 現在「php5.dll」を探し中です。

5

追記②を修正

2016/07/01 07:00

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -139,3 +139,19 @@
139
139
  extension=php_sqlsrv_53_nts_vc6.dll
140
140
 
141
141
  extension=php_pdo_sqlsrv_53_nts_vc6.dll
142
+
143
+
144
+
145
+ →ファイルを再度確認したところ、
146
+
147
+ https://www.microsoft.com/en-us/download/details.aspx?id=20098
148
+
149
+ からexeを落としてファイルを解凍しましたが、
150
+
151
+ 必要とされているファイル
152
+
153
+ php_sqlsrv_53_nts_vc6.dll
154
+
155
+ php_pdo_sqlsrv_53_nts_vc6.dll
156
+
157
+ がダウンロードできませんでした。

4

追記②を追加

2016/07/01 06:39

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -115,3 +115,27 @@
115
115
  phpinfo();
116
116
 
117
117
  を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServerが含まれていないのが原因かと思っています。
118
+
119
+
120
+
121
+ 追記②:
122
+
123
+ 実行したこと
124
+
125
+ https://blogs.msdn.microsoft.com/osamum/2010/09/26/php-ms-sql-server/
126
+
127
+ を参考に
128
+
129
+ SQLSRV20.EXEをダウンロードし、ファイルをC:\xampp\php\extに配置し、
130
+
131
+ php.iniに以下を記載しましたが、だめでした。
132
+
133
+
134
+
135
+ extension=php_pdo.dll
136
+
137
+ extension=php_pdo_mysql.dll
138
+
139
+ extension=php_sqlsrv_53_nts_vc6.dll
140
+
141
+ extension=php_pdo_sqlsrv_53_nts_vc6.dll

3

誤字修正

2016/07/01 06:27

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -114,4 +114,4 @@
114
114
 
115
115
  phpinfo();
116
116
 
117
- を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServweが含まれていないのが原因かと思っています。
117
+ を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServerが含まれていないのが原因かと思っています。

2

補足情報を追加

2016/07/01 06:18

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
 
108
108
 
109
- SqlServer2008、Cakephp3
109
+ SqlServer2008、Cakephp3、Windows
110
110
 
111
111
 
112
112
 

1

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

2016/07/01 06:13

投稿

XYZA
XYZA

スコア20

test CHANGED
File without changes
test CHANGED
@@ -107,3 +107,11 @@
107
107
 
108
108
 
109
109
  SqlServer2008、Cakephp3
110
+
111
+
112
+
113
+ 追記①:
114
+
115
+ phpinfo();
116
+
117
+ を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServweが含まれていないのが原因かと思っています。