Thread Memo-Fields und MS Access (9 answers)
Opened by Gast at 2004-06-15 16:28

Gast Gast
 2004-06-16 15:54
#32282 #32282
[quote=Heromaster,15.06.2004, 20:43]Hmm, wenn Du Win32::OLE nutzt, müsstest Du mithilfe des ADO-Objekts die Größe des Memofelds herausbekommen. Ich schau mal im Objektkatalog nach, vielleicht findet sich ja was geeignetes.

edit: Ansonsten probiers mal damit, das sollte unabhängig von der Datensatzgröße sein:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use Win32::OLE;
$conn = Win32::OLE->new("ADODB.Connection");
$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\auftrag.mdb;Mode=Share Deny None");
$RS = $conn->Execute("SELECT memo FROM table");
if (!$RS) {
   $Errors = $conn->Errors();
   die "Errors:\n", map { "$_->{Description}\n" } keys %$Errors;
}

while ( !$RS->EOF ) {
   my $memo = $RS->Fields('memo')->Value;
   print "$memo\n";
   $RS->MoveNext();
}
$RS->Close();
$conn->Close();
[/quote]
Im Grunde genommen brauche ich Win32::WhatEver nicht um eine Datenbankverbindung zu Access aufzubauen.
Will sagen:
Ich verwende die Module Win32::XXXX nicht weil dann der ISP des Users für jede Datenbank (des Users) eine DSN einrichten muß - und das ist ganz schön lästig.
DBI kann den ganzen ODBC/OLE-Kram einfach umgehen und macht damit den DB-Zugriff sogar deutlich schneller.

View full thread Memo-Fields und MS Access