0
只是Soci的另一個問題...我想連接我的testDB,我剛剛創建,但下面的代碼顯示致命錯誤。社會C++(SQL包裝)FATAL:數據庫「testDB」不存在
我這樣做:
PostgreSQL的:
1) CREATE USER robert WITH ENCRYPTED PASSWORD 'pass';
2) CREATE DATABASE testDB;
3) GRANT ALL PRIVILEGES ON DATABASE testDB TO robert;
我的C++代碼:
#include <iostream>
#include <soci.h>
#include <string>
using std::string;
using std::cout;
#include <postgresql/soci-postgresql.h>
bool connectToDatabase(string databaseName, string user, string password)
{
try
{
soci::session sql(soci::postgresql, "dbname=" +databaseName + " user="+user + " password="+password);
}
catch (soci::postgresql_soci_error const & e)
{
std::cerr << "PostgreSQL error: " << e.sqlstate() << " " << e.what() << std::endl;
return false;
}
catch (std::exception const & e)
{
std::cerr << "Some other error: " << e.what() << std::endl;
return false;
}
return true;
}
int main(int argc, char **argv)
{
cout << connectToDatabase("testDB", "robert", "pass");
return 0;
}
編譯後,我得到這個:
Some other error: Cannot establish connection to the database.
FATAL: database "testDB" does not exist
有什麼不對?
非常感謝你!我永遠不會自己想出來!就是這樣,我剛剛用'cout << connectToDatabase(「testdb」,「robert」,「pass」)替換了'cout << connectToDatabase(「testDB」,「robert」,「pass」);''工作,歡呼:) – 2012-07-12 17:55:37