Salut,
J'essaie d'importer des données codées en base64 dans JMP, mais cela semble tronquer les données à 255 caractères. La colonne de base de données contenant la chaîne base64 a une longueur de 546 168 caractères. Existe-t-il un moyen d'augmenter la limite de caractères pour la colonne du tableau jmp ?
Merci,
Jackie
S'agit-il d'une base de données ou d'une importation CSV ?
S'il s'agit d'une base de données SQL, celles-ci pourraient être utiles.
Image de tableau d'octets de la base de données vers JMP
téléchargement de grandes colonnes de la base de données via odbc
S'il s'agit de données CSV, comment les ouvrez-vous ? Partager l'instruction ou la boîte de dialogue open() peut aider. Également le script source de la mauvaise importation. JMP devrait être capable de lire de très grandes chaînes ; comment avez-vous déterminé la longueur de la chaîne importée ?
Voici un test rapide en utilisant 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(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(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(beaucoup de) données en base 64 dans la colonne du milieu
le script Source ressemble à ceci
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" )
)
)
Je suppose que vous voudrez utiliser

Je pense qu'il peut gérer un flux d'entrée allant jusqu'à 2 milliards de caractères. Consultez l'index des scripts pour obtenir des exemples.
Merci @Craige_Hales !
J'interroge le serveur de base de données vers JMP.
J'ai essayé de le convertir en hexadécimal, mais il ne lit que 255 caractères maximum.
Requête:
ODBC = Create Database Connection( "DSN=xxx;" );
SQL= Eval Insert(
"SELECT hex(plot) AS HexadecimalPlot
FROM db.main.plot_table;");
dt_diesort2 = Execute SQL( ODBC, SQL, "Pic_table" );
Voici ce que j'obtiens:

JMP lit les limites jusqu'à 255 caractères
"89504E470D0A1A0A0000000D4948445200000DAC000007D0080600000094E2F9EB0000200049444154785EECDD07905545DA3FE0171024A818565D3388A262465D "
J'ai joint les valeurs hexadécimales d'origine que je souhaite interroger dans la table jmp.
Merci beaucoup pour la solution.
Bienvenue, et quelle partie a fonctionné pour vous ? Merci pour tous les détails que vous pouvez partager. Tout le monde a du mal avec les connexions aux bases de données.