2013-09-24 60 views
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 

我不覺得這是我嘗試在表中插入數據。

回答