Hallo,
Ich versuche, base64-codierte Daten in JMP zu importieren, aber es scheint, als würden die Daten bei 255 Zeichen abgeschnitten. Die Datenbankspalte, die die base64-Zeichenfolge enthält, ist 546.168 Zeichen lang. Gibt es eine Möglichkeit, die Zeichenbegrenzung für die JMP-Tabellenspalte zu erhöhen?
Danke,
Jackie
Ich vermute, Sie möchten

Ich glaube, dass es einen Eingabestrom von bis zu 2 Milliarden Zeichen verarbeiten kann. Beispiele finden Sie im Scripting Index.
Handelt es sich hierbei um einen Datenbank- oder CSV-Import?
Bei einer SQL-Datenbank könnten diese hilfreich sein.
Byte-Array-Bild von der Datenbank nach JMP
Herunterladen großer Spalten aus der Datenbank über ODBC
Wenn es sich um CSV-Daten handelt, wie öffnen Sie sie? Das Teilen der open()-Anweisung oder des Dialogs könnte hilfreich sein. Auch das Quellskript vom fehlerhaften Import. JMP sollte in der Lage sein, sehr große Zeichenfolgen zu lesen. Wie haben Sie die Länge der importierten Zeichenfolge ermittelt?
Hier ist ein kurzer Test mit open(...csv)
x = "1," || Encode64 Blob( Char To Blob( Repeat( "the quick brown fox", 30000 ) ) ) || ",3"; Show( Length( x ) );
y = "4," || Encode64 Blob( Char To Blob( Repeat( "jumps over the lazy", 30000 ) ) ) || ",6"; Show( Length( y ) );
file = Save Text File( "$temp/x.csv", "a,b,c\!n" || x || "\!n" || y );
dt = Open( file );
Show(
JMP Version(),
Length( dt:b[1] ),
Length( dt:b[2] ),
Blob Peek( Decode64 Blob( dt:b[1] ), 0, 38 ),
Blob Peek( Decode64 Blob( dt:b[2] ), 0, 38 )
);
/*
Length(x) = 760004;
Length(y) = 760004;
JMP Version() = "17.2.0";
Length(dt::b[1]) = 760000;
Length(dt::b[2]) = 760000;
Blob Peek(Decode64 Blob(dt::b[1]), 0, 38) = Char To Blob( "the quick brown foxthe quick brown fox", "ascii~hex" );
Blob Peek(Decode64 Blob(dt::b[2]), 0, 38) = Char To Blob( "jumps over the lazyjumps over the lazy", "ascii~hex" );
*/
(a lot of) base 64 data in middle column(a lot of) base 64 data in middle column(a lot of) base 64 data in middle column(a lot of) base 64 data in middle column(a lot of) base 64 data in middle column(a lot of) base 64 data in middle column(a lot of) base 64 data in middle column(viele) Base-64-Daten in der mittleren Spalte
Das Quellskript sieht folgendermaßen aus
Open(
"$TEMP/x.csv",
columns(
New Column( "a", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "b", Character, "Nominal" ),
New Column( "c", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 1 ) ),
Strip Quotes( 0 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
First Named Column( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
Vielen Dank für die Lösung.
Willkommen. Und welcher Teil hat bei Ihnen funktioniert? Vielen Dank für alle Einzelheiten, die Sie uns mitteilen können. Jeder hat Probleme mit Datenbankverbindungen.