Connecter à une base de données Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows.
16 réponses
programmation
Salut,
Je voudrais connecter =E0 une base de donn=E9es Mysql via ODBC =E0 partir
d'un programme C sous Visual Studio 2008 Windows.
le nom de DSN est : pays_dsn
le nom d'utilisateur : root
le mot de passe est vide
if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &env)) )
fprintf(stderr, "La fonction SQLAllocHandle a echoue
(SQL_HANDLE_ENV).\n");
else
{
if ( !SQL_SUCCEEDED(SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION,
(void *)SQL_OV_ODBC3, 0)) )
fprintf(stderr, "La fonction SQLSetEnvAttr a echoue.\n");
else
{
SQLHDBC con;
if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, env,
&con)) )
fprintf(stderr, "La fonction SQLAllocHandle a echoue
(SQL_HANDLE_DBC).\n");
else
{
SQLCHAR dsn[] =3D "pays_dsn", uid[] =3D "root", pwd[] =3D
"";
if ( !SQL_SUCCEEDED(SQLConnect(con, dsn, SQL_NTS, uid,
SQL_NTS, pwd, SQL_NTS)) )
// if ( !SQL_SUCCEEDED(SQLConnect(con,(SQLCHAR *)"pays_dsn",
SQL_NTS,(SQLCHAR *)"root", SQL_NTS,(SQLCHAR *)"", SQL_NTS)) )
fprintf(stderr, "La fonction SQLConnect a echoue.
\n");
else
{
SQLHSTMT stmt;
if ( !SQL_SUCCEEDED(SQLAllocHandle
(SQL_HANDLE_STMT, con, &stmt)) )
fprintf(stderr, "La fonction SQLAllocHandle a
echoue (SQL_HANDLE_STMT).\n");
else
{
if ( !SQL_SUCCEEDED(SQLExecDirect(stmt,
"SELECT * FROM pays_tbl;", SQL_NTS)) )
fprintf(stderr, "La fonction SQLExecDirect
a echoue.\n");
else
{
SQLCHAR pays[15], capitale[15];
programmation wrote: > On 14 juil, 18:46, domi wrote: >> programmation wrote: >>> On 4 juil, 21:07, domi wrote: >>> Après la compilation et l'exécution j'obtiens: >>> retcode = -1 // c'est la valeur de retour de SQLConnect >>> Erreur sur l'instruction SQLConnect Impossible de se connecter a la >>> source de donnees: >>> 1. [ >>> - Qu'est ce que signifie ce message d'erreur ?: 1. [ >> Apparemment tu n'as même pas utilisé HandleError !
Et comme avait dit Marc, active les traces ODBC pour voir les détails
Comment je vais activer les traces ODBC ?
On 14 juil, 21:12, domi <d...@dom.com> wrote:
programmation wrote:
> On 14 juil, 18:46, domi <d...@dom.com> wrote:
>> programmation wrote:
>>> On 4 juil, 21:07, domi <d...@dom.com> wrote:
>>> Après la compilation et l'exécution j'obtiens:
>>> retcode = -1 // c'est la valeur de retour de SQLConnect
>>> Erreur sur l'instruction SQLConnect Impossible de se connecter a la
>>> source de donnees:
>>> 1. [
>>> - Qu'est ce que signifie ce message d'erreur ?: 1. [
>> Apparemment tu n'as même pas utilisé HandleError !
programmation wrote: > On 14 juil, 18:46, domi wrote: >> programmation wrote: >>> On 4 juil, 21:07, domi wrote: >>> Après la compilation et l'exécution j'obtiens: >>> retcode = -1 // c'est la valeur de retour de SQLConnect >>> Erreur sur l'instruction SQLConnect Impossible de se connecter a la >>> source de donnees: >>> 1. [ >>> - Qu'est ce que signifie ce message d'erreur ?: 1. [ >> Apparemment tu n'as même pas utilisé HandleError !
Et comme avait dit Marc, active les traces ODBC pour voir les détails
Comment je vais activer les traces ODBC ?
programmation
On 10 juil, 09:25, marc wrote:
programmation a écrit :
> Salut,
> Je voudraisconnecter à une base de données Mysql via ODBC à parti r> d'un programme Csous Visual Studio 2008 Windows.
comme les autres réponses (Msdn et mysqllib) et pour ODBC, active les Traces ODBC et tu auras de suite la cause de l'erreur
programmation wrote: > On 14 juil, 18:46, domi wrote: >> programmation wrote: >>> On 4 juil, 21:07, domi wrote: >>> Après la compilation et l'exécution j'obtiens: >>> retcode = -1 // c'est la valeur de retour de SQLConnect >>> Erreur sur l'instruction SQLConnect Impossible de se connecter a la >>> source de donnees: >>> 1. [ >>> - Qu'est ce que signifie ce message d'erreur ?: 1. [ >> Apparemment tu n'as même pas utilisé HandleError !
Et comme avait dit Marc, active les traces ODBC pour voir les détails
Comment je vais activer les traces ODBC ?
On 10 juil, 09:25, marc <marc.tes...@caramail.com> wrote:
programmation a écrit :
> Salut,
> Je voudraisconnecter à une base de données Mysql via ODBC à parti r> d'un programme Csous Visual Studio 2008 Windows.
comme les autres réponses (Msdn et mysqllib) et pour ODBC, active les
Traces ODBC et tu auras de suite la cause de l'erreur
programmation wrote:
> On 14 juil, 18:46, domi <d...@dom.com> wrote:
>> programmation wrote:
>>> On 4 juil, 21:07, domi <d...@dom.com> wrote:
>>> Après la compilation et l'exécution j'obtiens:
>>> retcode = -1 // c'est la valeur de retour de SQLConnect
>>> Erreur sur l'instruction SQLConnect Impossible de se connecter a la
>>> source de donnees:
>>> 1. [
>>> - Qu'est ce que signifie ce message d'erreur ?: 1. [
>> Apparemment tu n'as même pas utilisé HandleError !
> Je voudraisconnecter à une base de données Mysql via ODBC à parti r> d'un programme Csous Visual Studio 2008 Windows.
comme les autres réponses (Msdn et mysqllib) et pour ODBC, active les Traces ODBC et tu auras de suite la cause de l'erreur
programmation wrote: > On 14 juil, 18:46, domi wrote: >> programmation wrote: >>> On 4 juil, 21:07, domi wrote: >>> Après la compilation et l'exécution j'obtiens: >>> retcode = -1 // c'est la valeur de retour de SQLConnect >>> Erreur sur l'instruction SQLConnect Impossible de se connecter a la >>> source de donnees: >>> 1. [ >>> - Qu'est ce que signifie ce message d'erreur ?: 1. [ >> Apparemment tu n'as même pas utilisé HandleError !
Je trouve dans les propriétés de projet les dépendances supplémentaires les fichiers suivants : kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
Alors, je ne trouve pas odbcad32.
Et il y a bien l'onglet "Tracing" ou "Traçage" ?
Oui. Il y a l'onglet "Traçage".
Salut,
Le DSN, tu l'as bien créé avec odbcad32 ?
Je trouve dans les propriétés de projet les dépendances
supplémentaires les fichiers suivants :
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
Je trouve dans les propriétés de projet les dépendances supplémentaires les fichiers suivants : kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib