在MSSQL varchar ODBC上输出错误


Incorrect Output on MSSQL varchar ODBC

我使用odbc_exec从MSSQL服务器获得varchar(MAX)。但是返回的值是:

År)2014-0

它应该看起来像:59877d4c7baa6-h0d27e80

这里有一些代码可以帮助你理解:

$conn = odbc_connect("Driver={SQL Native Client};Server=Server;Database=Database;", "Username", "Password");
$out = odbc_exec($conn, "SELECT [uuid] FROM [Database].[dbo].[Table]");
        if (odbc_num_rows($out)) {
            while ($row = odbc_fetch_array($out)) {
                echo $row['uuid']
            }
        }

(例如语句抽象)

这个问题似乎是一个已知的错误,迄今为止没有解决方案(PDO ODBC确实有一个修复)

将SQL驱动程序从SQL Native Client更改为SQL Server解决了此问题,但是我知道使用此驱动程序存在某些性能问题。