मैं sqlSave() का उपयोग कर SQL सर्वर में किसी तालिका में डेटा फ्रेम अपलोड करने का प्रयास कर रहा हूं। इस डेटाफ्रेम में इसमें टाइमस्टैम्प है और मैं टाइमस्टैम्प कॉल को SQL टाइमर में डेटाटाइम कॉल पर मैप करना चाहता हूं।sqlSave: SQL सर्वर टाइमस्टैम्प पर डेटाफ्रेम टाइमस्टैम्प मैपिंग
मुझे दो समस्याएं मिल रही हैं।
1. यह डेटा फ्रेम के टाइमस्टैम्प को एक फ्लोट पर मैप करता है। 2. यह एक टेबल बनाता है, लेकिन कोई डेटा अपलोड नहीं किया गया है और मुझे कोई त्रुटि मिलती है। , इसके अलावा
mdf <- structure(list(run = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("run_00",
"run_01", "run_02", "run_03", "run_04"), class = "factor"), slot = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = c("slot 3", "slot 4", "slot 5",
"slot 6"), class = "factor"), timestamp = structure(c(1320774563,
1320774624, 1320774686, 1320774747, 1320774809, 1320774871), class = c("POSIXct",
"POSIXt"), tzone = ""), channel = structure(c(1L, 1L, 1L, 1L,
1L, 1L), .Label = c("och01", "och02", "och09", "och10"), class = "factor"),
variable = structure(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = c("num_blocks",
"num_collection", "num_corr_0", "num_corr_1", "num_uncorr_srow",
"post_fec_err_rate", "pre_fec_err_rate"), class = "factor"),
value = c(1, 62, 124, 185, 247, 309)), .Names = c("run",
"slot", "timestamp", "channel", "variable", "value"), row.names = c(NA,
6L), class = "data.frame")
> mdf
run slot timestamp channel variable value
1 run_00 slot 3 2011-11-08 12:49:23 och01 num_collection 1
2 run_00 slot 3 2011-11-08 12:50:24 och01 num_collection 62
3 run_00 slot 3 2011-11-08 12:51:26 och01 num_collection 124
4 run_00 slot 3 2011-11-08 12:52:27 och01 num_collection 185
5 run_00 slot 3 2011-11-08 12:53:29 och01 num_collection 247
6 run_00 slot 3 2011-11-08 12:54:31 och01 num_collection 309
यहाँ जब मैं एक एसक्यूएल सर्वर डेटाबेस के लिए sqlSave कोशिश क्या होता है ...
> sqlSave(dbandle,mdf,tablename="mdf")
Error in sqlSave(dbandle, mdf, tablename = "mdf") :
[RODBC] Failed exec in Update
22018 0 [Microsoft][ODBC SQL Server Driver]Invalid character value for cast specification
जब मैं डेटा प्रकार को देखो:
यहाँ एक उदाहरण डेटा फ्रेम, mdf है तालिका के, मुझे टाइमस्टैम्प के लिए "डेटाटाइम" नहीं मिलता है। यह मुझे समझ में नहीं आता है कि क्यों RODBC डेटाटाइम के अलावा किसी अन्य चीज़ पर पॉज़िक्सक्ट टाइमेटैम्प को मैप करेगा।
[rownames] [varchar](255) NULL,
[run] [varchar](255) NULL,
[slot] [varchar](255) NULL,
[timestamp] [float] NULL,
[channel] [varchar](255) NULL,
[variable] [varchar](255) NULL,
[value] [float] NULL
मैं इसके आसपास कैसे हो सकता हूं?