Come inserire (accodare/scrivere) i dati nel database SQL Server nella tabella da JMP dataTable tramite scriptCiao,
Ho programmato la preparazione dei dati / pulizia dei dati con varie formule / formati e i dati di output sono pronti per l'inserimento (scrittura) nel server SQL dalla tabella JMP. Mi sono connesso a SQL, ma non sono riuscito a inserire (aggiungere) i dati al database del server SQL sulla tabella di destinazione. Qualcuno può aiutare in questa situazione a superare l'istruzione SQL da aggiungere. Ecco il mio script finale che è pronto (JMP Table = "Upload") per scrivere.
Data Table( "ServerData" ) << Join(
With( Data Table( "DataProcessed" ) ),
Merge Same Name Columns,
Copy second table formula( 0 ),
Suppress main table formula evaluation( 0 ),
By Matching Columns( :Individual_Claim_Number_ID_Full = :Individual_Claim_Number_ID_Full ),
Drop multiples( 0, 0 ),
Name( "Include non-matches" )(0, 1),
Preserve main table order( 1 ),
Output Table( "Upload" )
);
dbc = Create Database Connection(
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MAWA_REP;Data Source=USFLI-WAS101"
);
sqlreturn = Execute SQL(
dbc,
"INSERT Upload INTO [dbo].ALL_CUSTOMERS"
);
Close Database Connection( dbc );
Accesso ai datiRi: Come inserire (accodare/scrivere) i dati nel database di SQL Server nella tabella da JMP dataTable tramite scriptUtilizzare il comando show() o write() per visualizzare l'istruzione sql nella finestra Log.Copia/incollalo in un front-end di SQL Server (ad es. SQL Management Studio), che dovrebbe darti messaggi di errore migliori.Sospetto che siano gli spazi vuoti a darti problemi.Scopri come farlo "manualmente" nel server SQL e sarai in grado di farlo funzionare da JSL.Non ho SQL Server, quindi non posso risolvere i problemi oltre a quello.
Ri: Come inserire (accodare/scrivere) i dati nel database di SQL Server nella tabella da JMP dataTable tramite scriptCiao pmroz,
Mi sono stancato in molti modi, non ci sono messaggi di errore. Ma i dati non vengono inseriti nella tabella SQL.
Ho usato gli stessi tuoi script per un altro tavolo, funziona bene. I dati della riga sono stati aggiunti correttamente nella tabella del database. Ma questa tabella ha solo 2 colonne (campi). Può essere che funzioni correttamente.
Ma quando sono stanco per l'inserimento in "ALL_CUSTOMER", gli script funzionano senza problemi ma i dati non aggiunti nel database sono stati inseriti. In tempo reale ho molti spazi vuoti nei valori, potrebbe essere (non sono sicuro) a causa del fatto che l'inserimento non funziona? Qui allego script completi, proprietà della colonna SQL e dati pronti per il caricamento (file JMP) nella tabella SQL come riferimento.
Puoi controllare anche le date, se ci sono errori?
Ho completato il 90% degli script, faticando nel caricamento dei dati su SQL che rende il progetto completo al 100%.
Grazie per il tuo gentile aiuto.
Ri: Come inserire (accodare/scrivere) i dati nel database di SQL Server nella tabella da JMP dataTable tramite scriptQualcosa di simile farà quello che vuoi.Non sto gestendo le date, ciò richiederà una logica aggiuntiva.Non sono sicuro di come il server SQL gestisca le date per gli inserimenti.
dt = data table ("Upload");
col_list = dt << get column names(string);
col_names = concat items(col_list, ", ");
insert_prefix = evalinsert(
"INSERT INTO [dbo].[ALL_CUSTOMERS] (^col_names^) VALUES ");
dbc = create database connection("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MAWA_REP;Data Source=USFLI-WAS101");
for (i = 1, i <= nrows(dt), i++,
for (k = 1, k <= ncols(dt), k++,
one_col = col_list[k];
one_value = column(dt, one_col)[i];
// Surround strings with single quotes
if (type(one_value) == "String",
one_value = "'" || one_value || "'";
,
// Convert numeric to string, handle missing values (.)
one_value = char(one_value);
if (one_value == ".", one_value = "NULL");
);
if (k == 1,
sql_string = one_value;
,
sql_string = sql_string || ", " || one_value;
);
);
insert_sql = insert_prefix || "(" || sql_string || ")";
show(insert_sql);
// Do the insert. Execute SQL does an implicit commit
execute sql(dbc, insert_sql);
);
close database connection(dbc);
Ri: Come inserire (accodare/scrivere) i dati nel database di SQL Server nella tabella da JMP dataTable tramite scriptGrazie..
Puoi mostrarmi SQL con execute SQL con un esempio. in modo che io possa seguire il tuo passo e creare script secondo i tuoi.
Ri: Come inserire (accodare/scrivere) i dati nel database di SQL Server nella tabella da JMP dataTable tramite scriptPenso che SAVE DATABASE sovrascriva la tabella.Se si desidera aggiungere dati, è possibile creare una stringa SQL per più inserimenti ed eseguire l'SQL con EXECUTE SQL.
Ri: Come inserire (accodare/scrivere) i dati nel database di SQL Server nella tabella da JMP dataTable tramite scriptSiamo spiacenti, non ho aggiunto lo script completo e la tabella dei dati che è pronta per essere aggiunta alla mia domanda iniziale.
Qui ho allegato lo script e la tabella dei dati per l'aggiunta nel server SQL.
La tabella dei dati ha 224 colonne e anche nell'ordine corretto in base alla tabella SQL con lo stesso nome di campo. Il numero di righe cambierà ogni volta, quindi aggiungi i dati a SQL per istruzione in base alle righe della tabella upload.jmp.
//Tabella dati "Carica" pronta per essere aggiunta a SQL Server
dt << Save DataBase("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MAWA_REP;Data Source=USFLI-WAS101", "dbo.ALL_CUSTOMERS");
INSERISCI IN [dbo].[ALL_CUSTOMERS],
(col1, col2)
VALORI
(col1_valore1, col2_valore1),
(col1_valore2, col2_valore2),
Ri: Come inserire (accodare/scrivere) i dati nel database di SQL Server nella tabella da JMP dataTable tramite scriptSQL non ha idea di cosa sia il caricamento,
Potresti essere in grado di farlo
dt = Data Table( "ServerData" ) << Join(
With( Data Table( "DataProcessed" ) ),
Merge Same Name Columns,
Copy second table formula( 0 ),
Suppress main table formula evaluation( 0 ),
By Matching Columns( :Individual_Claim_Number_ID_Full = :Individual_Claim_Number_ID_Full ),
Drop multiples( 0, 0 ),
Name( "Include non-matches" )(0, 1),
Preserve main table order( 1 ),
Output Table( "Upload" )
);
dt << Save DataBase("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MAWA_REP;Data Source=USFLI-WAS101", "dbo.all_customers");
Ma sono abbastanza sicuro che in realtà sovrascriverebbe la tua tabella sql.
Potresti scrivere dinamicamente lo sql.Solo attraverso la tua tabella per inserire tutti i valori in una stringa SQL che puoi quindi eseguire.
INSERT INTO [dbo].[ALL_CUSTOMERS]
(col1, col2)
VALUES
(col1_value1, col2_value1),
(col1_value2, col2_value2),