sqlsrv_query上SQL变量的长度限制


length restriction for the sql variable on sqlsrv_query?

对于sqlsrv_query上的sql变量是否有任何已知的长度限制?我有一个应用程序,发送命令块做SQL SERVER(插入到…,插入…等等)。它在Linux (mssql)上工作得很好,但在Windows (sqlsrv)上,最后的指令被忽略。最后一条指令丢失的sql命令有4900行。

$qry_str = "";
for () {
    $qry = "INSERT INTO tbl
                (field1,
                 field2,
                 etc)
            VALUES
                ('$val1',
                 '$val2',
                 etc)";
    //echo "<pre>$qry</pre>";
    $qry_str .= "$qry;'n";
}

sqlsrv_query上,大于65536的sql字符串被截断为65536个字符。尝试使用mssql_query或将您的查询写入文件并从sqlcmd工具执行。Microsoft sqlsrv驱动程序对PHP的查询字符串长度有限制吗?