通过 ODBC 显示 Sybase Image 数据类型的部分图像
Posted
技术标签:
【中文标题】通过 ODBC 显示 Sybase Image 数据类型的部分图像【英文标题】:Partial Image display from Sybase Image data type over ODBC 【发布时间】:2011-10-20 10:42:17 【问题描述】:我昨天整天都在为此苦苦挣扎,但无法深究。
我有一个现有的数据库,我正试图从中检索图像(我知道图像存储很庞大,但这是我坚持的问题)。我能够查询相应的数据库字段并获取数据,但是当我显示它时,似乎只显示了部分数据。
我正在使用此代码来显示图像:
require_once('../odbc_config.php');
if((isset($_GET['ur'])) AND ($_GET['ur'] != ""))
$aria_query1_ur = $_GET['ur'];
$aria_query1 = "SELECT * FROM Patient WHERE PatientId='$aria_query1_ur' ";
$patient_result = odbc_exec($aria,$aria_query1) or die("Error getting Patient Data");
$patient_data = odbc_fetch_array($patient_result);
$ID=$patient_data['PatientSer'];
$query = odbc_exec($aria, "SELECT * FROM Photo WHERE PatientSer=".$ID);
$row = odbc_fetch_array($query);
$content = $row['Picture'];
header('Content-type: image/jpeg');
echo $content;
我这样称呼这段代码:
echo '<img src="contents/image2.php?ur='.$_GET['ur'].'">';
不幸的是,我似乎只能部分显示图像。图像的尺寸被正确读取,我可以从顶部看到前 50 x 480 左右的像素,但之后我看到的只是 640 x 480 像素的灰色背景。
像这样: http://i1218.photobucket.com/albums/dd411/Barbs_ldsr/stuff/th_partial_image.jpg
Sybase ODBC 驱动程序是否可能只允许一定数量的数据通过?我将如何检查或解决这个问题?还是PHP有问题?
任何帮助表示赞赏。 谢谢
【问题讨论】:
【参考方案1】:我评论了我们问题的解决方案与 php.ini 解决的有限文本编辑有关。查找下一行。 odbc.defaultlrl = 4096 例如仅放大值 odbc.defaultlrl = 40960000 现在有了这整个画面离开你。我希望能对您有所帮助,并且我们将答案放在保姆要求的论坛中,当其他人遇到此问题时会解决
【讨论】:
非常感谢...它救了我:)以上是关于通过 ODBC 显示 Sybase Image 数据类型的部分图像的主要内容,如果未能解决你的问题,请参考以下文章
我们正在使用Sybase / ODBC如何在运行长批量SQL查询时处理断开连接?