我正在创建一个 Android 应用程序,我需要在其中检索存储在在线 MS SQL 数据库中的图像。该表称为 ImagesData,它包含一个名为 Image_Data 的列,其类型为“图像”。该列的内容为十六进制值(以 0x9F4AB7DA7.... 开头,依此类推)。每个条目大约有 43679 个字符长(用上面提到的十六进制字符填充)。我的疑问是如何检索此十六进制数据并将其显示为我的应用程序中的 ImageView。
注意:我尝试使用 PHP 脚本检索数据,但它给出了一条错误消息:“警告:mssql_query() [function.mssql-query]: 消息:Unicode 数据在仅 Unicode 排序规则或 ntext 数据中无法发送到客户端使用 DB-Library(如 ISQL)或 ODBC 版本 3.7 或更早版本。(严重性 16)"
<?php
include('config.php');
$query= "select * from ImagesData where Image_id = '7'";
$result = mssql_query($query);
while($row = mssql_fetch_array($result))
{
echo $row["Image_Data"];
}
mssql_close();
?>
我尝试了此处建议的修改代码(MSSQL Query issue in PHP and querying text data),但这也给出了错误提示“警告:mssql_query()[function.mssql-query]:消息:从数据类型图像到文本的显式转换是不允许。(严重性 16)“。
<?php
include('config.php');
$query= "select CAST(Image_data AS TEXT) AS Image_Data from ImagesData where Image_id = '7'";
$result = mssql_query($query);
while($row = mssql_fetch_array($result))
{
echo $row["Image_Data"];
}
mssql_close();
?>