回答

收藏

sqlsrv_query上的sql变量的长度限制?

技术问答 技术问答 140 人阅读 | 0 人回复 | 2023-09-14

sqlsrv_query上的sql变量是否有任何已知的长度限制?我有一个应用程序,它发送一个命令块来执行SQL SERVER(插入到…,插入到…等)。它在Linux(mssql)上运行良好,但在Windows(sqlsrv)上,最后一条指令被忽略。丢失最后一条指令的sql命令有4900行。
/ M& ^" W3 C0 @" r3 j4 ]$qry_str = "";* b! s' B+ Q3 Y% C
for () {
4 o1 z! b7 K& b    $qry = "INSERT INTO tbl8 S( I( s9 f4 z% s. s
                (field1,. h. `6 f* W$ O; K( j
                 field2,
) w! s5 {/ Z6 d( G; o                 etc)
; u# N, O7 t' Y2 P3 D9 h            VALUES2 V- f" A5 u$ |# j) p, s
                ('$val1',
- M  v2 ]" Q/ b+ \- s5 s6 e+ x# [                 '$val2',
" D9 p# o6 F% @' r                 etc)";4 N1 L7 _! W1 R- U& G- g2 h* ]4 x
    //echo "$qry";2 J" y* B" h( c& I' j' d. U; u
    $qry_str .= "$qry;\n";
  C6 D+ J: [2 `7 {}6 s" ~  l& [6 J! T9 a) ?9 W
               
5 `2 X* M6 B. c/ A' ^+ V7 z# `- e解决方案:/ I, M" ~1 Q$ J# j7 f& v: e
               
  u7 ^4 M0 ^' L9 }7 ?6 o" K
8 t8 i; g4 j) k! L9 {; T. L% {& A1 B9 e# b8 S0 K
                在sqlsrv_query大于536的sql字符串上,将截断为65536个字符。尝试使用mssql_query查询或将查询写入文件,然后从sqlcmd工具执行查询
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则