J'écris le code pour un de nos clients qui est conçu pour lire une image d'une base de données SQL Server dans un fichier un répertoire de mise en cache.Comment j'arrêter les données varbinary d'être tronquées à 256kb lors de la lecture d'une base de données SQL Server utilisant adodb pour php
Les données binaires sont tronquées à 262144 octets (256 Ko). La colonne est de type varbinary (max), et nous utilisons l'ADOdb for Php pour accéder à la base de données. Quelle est la cause de la troncature, et comment l'empêcher?
Ci-joint le code utilisé pour effectuer la connexion:
$conn_image = ADONewConnection('odbc_mssql');
$dsn = "Driver={SQL Server};Server=servername;Database=database;";
$conn_image->Connect($dsn,username,password);
$query = "SELECT
Personnel.Text4,
Images.Image
FROM Images
LEFT JOIN Personnel ON Images.ParentId = Personnel.ObjectId
WHERE Personnel.Text4 = '12345'
";
$result = $conn_image->Execute($query);
if (!$result)
print $conn_image->ErrorMsg();
else
while (!$result->EOF) {
if (!empty($result->fields[0])) {
$filename = $result->fields[0] . ".jpg";
$rawdata = $result->fields[1];
$size_to_write = strlen($rawdata);
$bytes_written = 0;
$file = fopen("test" . DIRECTORY_SEPARATOR . $filename,'w');
while ($bytes_written < $size_to_write) {
$bw = fwrite($file, substr($rawdata, $bytes_written));
$bytes_written += $bw;
}
$result->MoveNext();
}
}
Quelle version de SQL Server utilisez-vous? – Tahbaza
Microsoft SQL Server Édition Entreprise, Version 9.00.1399.06 Si je lis correctement les informations. – Roybug