0
我一直在嘗試使用標準輸入拷貝插入批量數據,但它不工作。 誰能告訴我什麼,我做錯了:從標準輸入拷貝不工作在C++中使用libpqxx插入postgres
// Redirecting file input to stdin
std::ifstream in("infile.csv");
std::streambuf *cinbuf = std::cin.rdbuf(); // save old buffer
std::cin.rdbuf(in.rdbuf()); // redirect std::cin to in
std::string copyQuery("COPY tableName (col1,col2) FROM STDIN DELIMITER ',' CSV HEADER");
//Database connection
std::string conninfo("host=ip port=5432 dbname=tdb user=tdbuser password=tdbpsswd);
pqxx::connection conn(conninfo);
pqxx::work transaction(conn);
pqxx::result res = transaction.exec(copyQuery);
transaction.commit();
std::cin.rdbuf(cinbuf); // reset to standard input again
我不覺得這是我嘗試在表中插入數據。
tablestreams在最新版本的pqxx中已棄用。有替代品嗎? –