Hallo allerseits,
Ich versuche, meine Datentabelle in SQL hochzuladen und habe Probleme beim Laden der Datumsspalten.
Die Fehlermeldung, die ich erhalte, lautet: „[Microsoft][ODBC SQL Server-Treiber][SQL Server]Operandentypkonflikt: Numerisch ist mit Datum nicht kompatibel.“
Ich habe versucht, mit SELECT CAST ein Datumsformat daraus zu erstellen, aber das hat nicht funktioniert. Ich verwende JMP 17.0.0.
Ich habe den Basiscode aus diesem Beitrag verwendet und versucht, ihn an meine Bedürfnisse anzupassen, ohne Erfolg: 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);Jede Hilfe wäre dankbar!