sqlsrv_query上的sql变量的长度限制?
技术问答
607 人阅读
|
0 人回复
|
2023-09-14
|
sqlsrv_query上的sql变量是否有任何已知的长度限制?我有一个应用程序,它发送一个命令块来执行SQL SERVER(插入到…,插入到…等)。它在Linux(mssql)上运行良好,但在Windows(sqlsrv)上,最后一条指令被忽略。丢失最后一条指令的sql命令有4900行。. l3 Z$ G0 [1 k* H. P
$qry_str = "";( T. J; k& V$ n7 b6 n ]& M
for () {9 l4 C0 L0 d# a4 I$ U
$qry = "INSERT INTO tbl
0 t& O/ R2 j/ n3 o4 W' N; v% G (field1,
0 O( K0 x4 f% C# D field2,
- t* J. s9 o7 W6 }2 l etc)0 w; }9 ~- H! n8 P+ T4 r& w
VALUES
/ E# ]" |1 i }+ p% `! I) T! ` ('$val1',) ~, u3 C1 P% c( l& D
'$val2',
8 J. y7 X8 N5 ]. _3 ? etc)";( ~/ k( [0 ?, L! ? G
//echo "$qry";
$ l4 q$ a. H- s" [ $qry_str .= "$qry;\n";
2 e @% _, D4 i t+ _( e9 \}
; C) k" C8 I5 @7 L# ~
& B+ H9 I& Q- _$ V0 U2 E解决方案:
1 v7 O2 {' y0 \% s& H9 l3 @2 e; `
, o6 w: f6 K/ u4 F) `- ]' Z
6 c5 J) I! J$ d: c1 ?5 m/ x
- B: U. v: c" o% s 在sqlsrv_query大于536的sql字符串上,将截断为65536个字符。尝试使用mssql_query查询或将查询写入文件,然后从sqlcmd工具执行查询 |
|
|
|
|
|