Когда я пытаюсь вставить DATE через bcp FreeTDS на Linux, я сталкиваюсь с этой ошибкой:
Conversion failed when converting date and/or time from character string.
create table test (c_date date);
Тип привязки этого столбца - SYBCHAR, в Windows у меня нет проблем, но я использую WinApi
...
char buff[10];
time_t time = ACE_OS::time(nullptr);
struct tm *tmp = localtime(&time);
strftime(buff, 10, "%Y-%m-%d", tmp); /// example: 2008-10-22
bcp_collen(db, 10, 1);
bcp_colptr(db, reinterpret_cast<BYTE*>(buff), 1);
bcp_sendrow(db);
bcp_batch(db); /// here the exception is thrown
Я пытался использовать другие шаблоны для форматирования даты, такие как %Y%m%d
, %Y/%m/%d
и т. Д., Другие типы привязки, создание locales.conf рядом с freetds.conf, но ничего ...