質問編集履歴
13
解決!!
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
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
デフォルトではPHPMyAdminにて作成した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の結果を追加
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
備考追加
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
追記④を追加
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
気になることを削除
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
追記を修正
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
|
-
現在
|
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
いろいろ追記
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
追記②を修正
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
追記②を追加
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
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -114,4 +114,4 @@
|
|
114
114
|
|
115
115
|
phpinfo();
|
116
116
|
|
117
|
-
を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServ
|
117
|
+
を確認すると、PDOのenabledが「mysql, sqlite」となっており、SqlServerが含まれていないのが原因かと思っています。
|
2
補足情報を追加
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\(\);の内容を追加
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が含まれていないのが原因かと思っています。
|