Ciao a tutti,
Sto provando a caricare la mia tabella dati in SQL e ho problemi a caricare le colonne della data.
L'errore che ricevo è questo: "[Microsoft] [Driver ODBC SQL Server] [SQL Server] Scontro tra tipi di operando: il numero non è compatibile con la data"
Ho provato a utilizzare SELECT CAST per trasformarlo in un formato data ma non ha funzionato. Sto utilizzando JMP 17.0.0.
Ho utilizzato il codice base di questo post e ho provato ad adattarlo a ciò di cui avevo bisogno senza alcun risultato: https://community.jmp.com/t5/Discussions/How-to-Insert-Append-Write-data-to-SQL-Server-database-in-table/mp/262281#M51331
dt = data table ("Untitled 2");
col_list = dt << get column names(string);
col_names = concat items(col_list, ", ");
insert_prefix = evalinsert(
"SELECT CAST(dt:Date as date)";
"SELECT CAST(dt:Accrual_Period_Date as date)";
"INSERT INTO [Sandbox].[dbo].[XXXXXXXX] (^col_names^) VALUES ");
dbc = create database connection("ODBC:Description=;DRIVER=SQL Server;SERVER=XXXXX;UID=XXXX.XXXX;PWD=XXXXX;APP=JMP;WSID=XXXXXX;DATABASE=Sandbox;");
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);Qualsiasi aiuto sarebbe apprezzato!