Bart Verstraete wrote:
> Jonathan Wakely schreef:
>> On 06/01/2008, Bart Verstraete <bartverstraete@stripped> wrote:
>>
>>> Why wont this work?
>>>
>>> m_connected = connect("TEST", "127.0.0.1", "user", "pw", 3307);
>>>
>>> It compiles without an error but while connecting it trows a exception
>>> "Access denied ....blablabla". The db is tunneled via ssh on port 3307
>>>
>>
>> It's almost certainly nothing to do with mysql++ - try connecting to
>> the same DB through the same ssh tunnel using the `mysql' command line
>> client and see if that works.
>> If that fails as well then obviously the reason mysql++ fails to
>> connect is that you don't have permission to access the DB using that
>> setup.
>>
>> Jon
>>
>>
> Thats the problem, I can connect to the remote db thought the tunnel
> with 'mysql', 'mysql-admin', 'mysql-query-browser', etc. But not
> with mysql++3.0 the only thing it says 'Access denied no permission'
> or something but with te same user and pw I can connect with 'mysql'
> and others. Pls help.
>
Try running a program using the mysql api. If it works OK then it may
be a mysql++ problem but if you can't get a program using the mysql api
working, it isn't mysql++.
This should get you started:
Testm.cpp
#include <mysql/mysql.h>
#include <string>
#include <iostream>
#define AMYSQL_PORT 3307
using namespace std;
int main(int argc, char **argv)
{
static MYSQL *conptr, *tptr;
string host="";
string uname="";
string upass="";
string db="";
conptr = mysql_init (conptr);
tptr = mysql_real_connect (
conptr, host.c_str(), uname.c_str(), upass.c_str(),
db.c_str(), AMYSQL_PORT, NULL, 0);
if(tptr == NULL) {
cout <<"Failed to connect"<<endl;
}
}
Of course, fill in the empty strings with something that will work.
Jim.