質問編集履歴
3
実行結果の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -78,7 +78,8 @@
|
|
78
78
|
```
|
79
79
|
|
80
80
|
---
|
81
|
-
2017/05/24 14:30 追記
|
81
|
+
**2017/05/24 14:30 追記**
|
82
|
+
|
82
83
|
PHPを実行しているサーバで、tsqlコマンドを実行し、
|
83
84
|
SQLを発行した場合、正しく結果が取得できることを確認
|
84
85
|
|
@@ -101,6 +102,33 @@
|
|
101
102
|
2 ddd
|
102
103
|
(2 rows affected)
|
103
104
|
|
105
|
+
---
|
106
|
+
**2017/05/25 15:00 追記**
|
107
|
+
|
108
|
+
問題を切り分ける為以下を実施
|
109
|
+
- リンクサーバを新規追加
|
110
|
+
リンクサーバ名:LOCALSRV
|
111
|
+
リンクサーバDB:SQLSrver2014
|
112
|
+
|
113
|
+
- 実行PHP(SQLを追記)
|
114
|
+
$sql3 = "SELECT * FROM OPENQUERY(LOCALSRV, 'SELECT * FROM SqlserverTB')";
|
115
|
+
|
116
|
+
```
|
117
|
+
$sql3実行結果
|
118
|
+
<<<開始>>>
|
119
|
+
<<<成功>>>
|
120
|
+
<<<終了>>>
|
121
|
+
```
|
122
|
+
|
123
|
+
実行結果から、
|
124
|
+
- Informixへの接続が問題ではなさそう。
|
125
|
+
- OPENQUERYが利用できない、または、使い方が悪いと考えられる。
|
126
|
+
|
127
|
+
これから検証する予定の内容
|
128
|
+
- ビューやストアドを経由し実行結果が取得できないか確認
|
129
|
+
- PDO以外の接続方法を調査
|
130
|
+
|
131
|
+
|
104
132
|
###補足
|
105
133
|
前回の質問からの続きです。
|
106
134
|
[PHPからInformixにODBC接続で、表示結果が途中で文字化けする](https://teratail.com/questions/74106)
|
2
作業内容追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -77,6 +77,30 @@
|
|
77
77
|
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
|
78
78
|
```
|
79
79
|
|
80
|
+
---
|
81
|
+
2017/05/24 14:30 追記
|
82
|
+
PHPを実行しているサーバで、tsqlコマンドを実行し、
|
83
|
+
SQLを発行した場合、正しく結果が取得できることを確認
|
84
|
+
|
85
|
+
追記したコンフィグ
|
86
|
+
[root@localhost ~]# vim /etc/freetds.conf
|
87
|
+
[MSSQL]
|
88
|
+
host = 192.168.1.10
|
89
|
+
port = 50000
|
90
|
+
instance = SQLSERVER2014
|
91
|
+
charset = UTF8
|
92
|
+
client charset = UTF8
|
93
|
+
|
94
|
+
実行したコマンド
|
95
|
+
[root@localhost ~]# tsql -S MSSQL -U user -P password
|
96
|
+
1> SELECT * FROM OPENQUERY(LINQSRV, 'SELECT * FROM InformixTB')
|
97
|
+
2> go
|
98
|
+
|
99
|
+
id val
|
100
|
+
1 ccc
|
101
|
+
2 ddd
|
102
|
+
(2 rows affected)
|
103
|
+
|
80
104
|
###補足
|
81
105
|
前回の質問からの続きです。
|
82
106
|
[PHPからInformixにODBC接続で、表示結果が途中で文字化けする](https://teratail.com/questions/74106)
|
1
実行結果の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,6 +24,9 @@
|
|
24
24
|
|2|ddd|
|
25
25
|
|
26
26
|
```php
|
27
|
+
|
28
|
+
print("<<<開始>>>");
|
29
|
+
|
27
30
|
try {
|
28
31
|
$dsn = "dblib:host=192.168.1.10:50000\SQLSERVER2014;dbname=SqlserverTB;charset=UTF-8;";
|
29
32
|
$db = new PDO($dsn, "user", "password");
|
@@ -36,14 +39,35 @@
|
|
36
39
|
while ($row = $stmt->fetch()) {
|
37
40
|
print("結果:" . $row[1]);
|
38
41
|
}
|
42
|
+
|
43
|
+
print("<<<成功>>>");
|
44
|
+
|
39
45
|
} catch (PDOException $e) {
|
40
46
|
print("PDOException:" . $e->getMessage());
|
41
47
|
}
|
48
|
+
|
49
|
+
print("<<<終了>>>");
|
50
|
+
|
42
51
|
```
|
43
52
|
---
|
44
53
|
PHPソースの実行結果
|
54
|
+
```
|
55
|
+
$sql1実行結果
|
56
|
+
<<<開始>>>
|
57
|
+
結果:aaa
|
58
|
+
結果:bbb
|
59
|
+
<<<成功>>>
|
60
|
+
<<<終了>>>
|
61
|
+
```
|
62
|
+
```
|
63
|
+
$sql2実行結果
|
64
|
+
<<<開始>>>
|
65
|
+
<<<成功>>>
|
66
|
+
<<<終了>>>
|
67
|
+
```
|
68
|
+
|
45
69
|
- $sql1:実行でき結果を取得できた。
|
46
|
-
- $sql2:実行したが結果を取得できない。エラーは発生せず。
|
70
|
+
- $sql2:実行したが結果を取得できない。Exception等エラーは発生せず。
|
47
71
|
- $sql2については、SQLServerManegmentStadioで正常に実行できることを確認済み。
|
48
72
|
- $sql2の実行後、SQLServerManegmentStadioで以下のSQLを実行し、
|
49
73
|
発行されたSQLを確認したが、結果に対象のSQLが存在しなかった。
|