标题是对正在发生的事情的一个很好的总结。我有一个基于Zend Framework 2构建的php应用程序,并使用pdo_dblib驱动程序在CentOS上运行,以连接到MSSQL服务器以实现持久性。
我正在尝试将一些相当长的编码数据字符串存储到其中一个表中的nvarchar(max)列中,到目前为止,我已经证明我可以成功地将数据插入到表中。我通过我为调试目的编写的桌面C#app执行SELECT查询,验证了存储的数据是完整和正确的。
然而,当我通过ZF2适配器运行完全相同的SELECT查询(绕过查询构建器进行调试)时,我收到一个截断的响应,长度恰好是2048个字符。作为参考,测试串的长度大约为110kb。
我在另一个连接到MySql的应用程序中有类似的表结构和查询,从未见过这个问题。
有什么建议吗?
C#select
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// Do work here; connection closed on following line.
using (SqlCommand command = new SqlCommand("select data from fil_tab where uid = 10", connection))
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
int value = reader.GetString(0).Count(); // value gives me the correct char count
}
}
}
匹配的php
public function test(){
$test = $this->tableGateway->getAdapter()->query("select data from fil_tab where uid = 10");
$result = $test->execute()->current();
$value = strlen($result['data']); //2048 every time.
}