2017-12-27 3 views
0

Ich habe eine Oracle DB mit einem Zeitstempelfeld darin. Was ist der korrekte SQL-Code, um einen Zeitstempel in dieses Feld einzufügen?Wie fügt man einen Zeitstempel mit Node-Oracle-Treiber ein?

SQL CLASSIC:

insert into test (time_of_add_doc) 
    values (to_timestamp('22/12/17 09:00:00','DD/MM/RR HH24:MI:SS'); 

(1) Eine Reihe hinzugefügt Erfolg!

Ich möchte dies vom Server NodeJS tun, nachdem meine Datenbank verbinden (Erfolg)

oracledb.getConnection({ 
    user: 'ctrm', 
    password: 'ctrm', 
    connectString: "localhost/sig" 
    }, 
    function (err, connection) { 
    if (err) { 
     console.error(err.message); 
     return; 
    } 
    console.log('Connection was successful!'); //Get Connection success 





connection.execute(  


    "INSERT INTO test VALUES (:time_of_add_doc)", { 
    time_of_add_doc: ('22/12/17 09:00:00','DD/MM/RR HH24:MI:SS'), 
    }, 
    function (err, result) { 
     if (err) 
     console.error(err.message); 
     else 
     console.log("Rows inserted " + result.rowsAffected); 
    }); 

Antwort

1

Oracle ein Datum erwartet und Sie scheinen ein Array in eine einzige Bindevariable zu übergeben. Konstruiere ein Datum im Knoten und binde das dann. Stellen Sie sicher, dass die Datentypen auf beiden Seiten korrekt sind, und lassen Sie die Schnittstelle zwischen Oracle und Knoten der Standardübersetzung gilt, wenn

erforderlich
var time_of_add_doc = new Date(2017, 12, 22, 0, 0, 0, 0) 

connection.execute(  


    "INSERT INTO test VALUES (:time_of_add_doc)", { 
    time_of_add_doc, 
    }, 
    function (err, result) { 
     if (err) 
     console.error(err.message); 
     else 
     console.log("Rows inserted " + result.rowsAffected); 
    }); 

Sie haben ein Komma nach time_of_add_doc: ('22/12/17 09:00:00','DD/MM/RR HH24:MI:SS'),. Ich habe es vergessen, aber es scheint sehr seltsam. Ich kann nicht testen, um sicherzustellen, dass dies im Moment richtig ist

+0

Vielen Dank! Arbeit ist –

+0

Kein Problem @Anis; Ich bin froh! Benötigen Sie das nachgestellte Komma? Ich habe JS nie wirklich benutzt. Wenn dies Ihre Frage gelöst hat, beachten Sie bitte [akzeptieren] (https://meta.stackexchange.com/q/5234/179419), indem Sie auf das Häkchen klicken. Dies zeigt der breiteren Gemeinschaft, dass Sie eine Lösung gefunden haben und sowohl dem Antworter als auch Ihnen einen guten Ruf verschaffen. Es besteht keine Verpflichtung, dies zu tun. – Ben

Verwandte Themen