Hi,
ich muss größere Datein in eine MS Sql datenbank ablegen,
leider stoße ich von einem zum nächsten Problem.
PHP->PDO->ODBC->FreeTDS->MS SQL
PHP hatte anfangs das Problem, das wenn ich
mit unpack arbeite out of memory bekomm hatte ...
(hab das mit memory_limit -1 mehr schlecht als recht gelöst, weswegen ich das jetzt über die pdo bind_param mache.. )
Danach hab ich immer ein out of memory bekommen
(wenn ich ein feld vom typ image im select hatte)
(https://bugs.php.net/bug.php?id=42765)
Desweitern hab ich folgene Parameter in der php.ini verändert:
Zu guter letzt bekomm ich jetzt folgenden Fehler (wenn ich den typ auf varbin(max) stell):
[FreeTDS][SQL Server]String or binary data would be truncated.
Mein aktueller Code zum einspielen:
Bin schon etwas sehr frustriert und weiß nicht mehr weiter...
ich muss größere Datein in eine MS Sql datenbank ablegen,
leider stoße ich von einem zum nächsten Problem.
PHP->PDO->ODBC->FreeTDS->MS SQL
PHP hatte anfangs das Problem, das wenn ich
mit unpack arbeite out of memory bekomm hatte ...
(hab das mit memory_limit -1 mehr schlecht als recht gelöst, weswegen ich das jetzt über die pdo bind_param mache.. )
Danach hab ich immer ein out of memory bekommen
(wenn ich ein feld vom typ image im select hatte)
(https://bugs.php.net/bug.php?id=42765)
Desweitern hab ich folgene Parameter in der php.ini verändert:
Code:
; Valid range 0 - 2147483647. Default = 4096. mssql.textlimit = 2147483647 ; Valid range 0 - 2147483647. Default = 4096. mssql.textsize = 2147483647
Zu guter letzt bekomm ich jetzt folgenden Fehler (wenn ich den typ auf varbin(max) stell):
[FreeTDS][SQL Server]String or binary data would be truncated.
Mein aktueller Code zum einspielen:
PHP-Code:
$db = new PDO('odbc:Archiv', 'xxx', 'xxx');
$stmt = $db->prepare("insert into test_binary (test) values (?)");
if (!$stmt) {
print_r($stmt->errno);
}
$fp = fopen("alternativlos-17.mp3", 'rb');
$stmt->bindParam(1, $fp, PDO::PARAM_LOB);
$db->beginTransaction();
$stmt->execute();
$db->commit();
print_r($stmt->errorInfo());

Kommentar