dimadima | Salut,
Voici mon code:
Code :
- #include <stdio.h>
- #include <windows.h>
- #include <sql.h>
- #include <sqlext.h>
- void sql_perror(SQLSMALLINT HandleType, SQLHANDLE Handle, const char * title);
- int main()
- {
- SQLHENV env;
-
- if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &env)) )
- fprintf(stderr, "SQLAllocHandle (SQL_HANDLE_ENV) : la fonction a echoue.\n" );
- else
- {
- if ( !SQL_SUCCEEDED(SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0)) )
- sql_perror(SQL_HANDLE_ENV, env, "SQLSetEnvAttr" );
- else
- {
- SQLHDBC con;
-
- if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, env, &con)) )
- sql_perror(SQL_HANDLE_ENV, env, "SQLAllocHandle (SQL_HANDLE_DBC)" );
- else
- {
- SQLCHAR in[] = "DRIVER=MySQL ODBC 3.51 Driver;UID=root";
-
- if ( !SQL_SUCCEEDED(SQLDriverConnect(con, NULL, in, SQL_NTS, NULL, 0, NULL,
- SQL_DRIVER_NOPROMPT)) )
- sql_perror(SQL_HANDLE_DBC, con, "SQLDriverConnect" );
- else
- {
- printf("Connexion reussie !!!\n" );
-
- SQLDisconnect(con);
- }
-
- SQLFreeHandle(SQL_HANDLE_DBC, con);
- }
- }
-
- SQLFreeHandle(SQL_HANDLE_ENV, env);
- }
-
- return 0;
- }
- void sql_perror(SQLSMALLINT HandleType, SQLHANDLE Handle, const char * title)
- {
- SQLCHAR s[SQL_MAX_MESSAGE_LENGTH];
- SQLSMALLINT ligne = 1;
-
- fprintf(stderr, "%s :\n", title);
-
- while (SQLGetDiagField(HandleType, Handle, ligne, SQL_DIAG_MESSAGE_TEXT, s, sizeof(s), NULL) != SQL_NO_DATA)
- {
- fprintf(stderr, "%d. %s\n", ligne, s);
- ligne++;
- }
- }
|
le même problème de connexion demeure.
J'ai le message suivant après exécution:
retcode = - 1 // la valeur de retour de SQLConnect
SQLDriverConnect:
1. [
2. [
Mes informations sont:
1) J'ai remarqué que lorsque je creé une nouvelle source des données DSN avec ma base des données en utilisant ODBC
il ne me donne pas la permission d'entrer un mot de passe non vide ceci signifie qu'on doit avoir un mot de passe vide.
C'est logique ?
voici l'imprime d'écran:
http://rapidshare.com/files/256421933/dsn.bmp.html
2) Après la compilation de code, j'ai des "warrings":
1>------ Début de la génération : Projet : version1, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.c
1>c:\version1\version1\main.c(29) : warning C4133: 'fonction' : types incompatibles - de 'SQLCHAR [39]' à 'SQLWCHAR *'
1>Compilation du manifeste en ressources en cours...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Édition des liens en cours...
1>Incorporation du manifeste en cours...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Le journal de génération a été enregistré à l'emplacement "file://c:\version1\version1\Debug\BuildLog.htm"
1>version1 - 0 erreur(s), 1 avertissement(s)
========== Génération : 1 a réussi, 0 a échoué, 0 mis à jour, 0 a été ignoré ==========
3) Pour la configuration de Character Set, j'ai fait:
projet ==> propriétés de projet ==> propriétés de configuration ==> général
Alors je ne trouve pas la valeur de Character Set pour la changer à Not Set.
Voici l'imprime d'écran:
http://rapidshare.com/files/256423287/config.bmp.html
Merci. Message édité par dimadima le 16-07-2009 à 13:19:12
|