sqlsrv_query上的sql变量的长度限制?
技术问答
536 人阅读
|
0 人回复
|
2023-09-14
|
sqlsrv_query上的sql变量是否有任何已知的长度限制?我有一个应用程序,它发送一个命令块来执行SQL SERVER(插入到…,插入到…等)。它在Linux(mssql)上运行良好,但在Windows(sqlsrv)上,最后一条指令被忽略。丢失最后一条指令的sql命令有4900行。2 K8 C* r+ Y3 n
$qry_str = "";
, Y2 c, o. Z+ K# I8 U! pfor () {6 A5 z O9 o7 ~, `6 [# \
$qry = "INSERT INTO tbl) ]3 `* M3 h5 Z
(field1,7 |& P) d1 e k9 s
field2,% @. j7 u$ M* Y3 l t3 Y
etc)% F& A- I7 t3 _4 y$ H6 K+ Z e
VALUES
. l: M8 h1 a( @7 C ('$val1',
' j5 O6 d" S3 r* P7 o '$val2',
( H8 d. i( U# M9 C2 t. P etc)";( p( Y6 U& w: n2 `1 r
//echo "$qry";
& V# k, I Q3 t, ^% r3 V$ H $qry_str .= "$qry;\n";( i2 R/ M5 F) s7 e% o; H
}; i1 k% M$ Y" E$ f
1 i5 A1 W7 r. O$ d1 ^
解决方案:
/ P! t( j8 S; c3 j7 j
9 M$ M: [" u& S0 ~$ @) T) A" {
* n; n' H) k2 p5 q: Z( k5 ?/ w3 b" p( d* R0 ~
在sqlsrv_query大于536的sql字符串上,将截断为65536个字符。尝试使用mssql_query查询或将查询写入文件,然后从sqlcmd工具执行查询 |
|
|
|
|
|