【发布时间】:2015-10-14 20:51:12
【问题描述】:
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";
}
【问题讨论】:
-
为了清楚起见,您问的是查询本身的长度,而不是返回的结果集,对吗?
-
就是查询本身的长度
-
一个4900行的命令???
-
不确定这是否完全重复,但this 有您的答案和文档链接
-
不是单个命令,是一组命令,如上图。我们更喜欢将它以单个字符串的形式发送到 SQL 服务器,以确保只有在任何查询都没有错误时才执行批处理。如果单独发送到 SQL 服务器,一个拼写错误的查询将被忽略,但其余的将被执行。它适用于 linux 上的 mssql,但不适用于 sqlsrv
标签: php sql-server