begin process at 2012 05 28 22:17:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Base de données

 > 

Configuration ODBC


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Configuration ODBC

mardi 17 août 2004 à 10:23:36 | Configuration ODBC

picinounours51

Bonjour

je voudrais savoir comment configuré l'ODBC pour pouvoir ajouter une nouvelle Data Source.
J'ai essayé "SQLConfigDataSource" mais je n'arrive pas à configuré correctement les attributs.

SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)","DNS=BaseDeDonnée\0" "DataDirectory=D:\\Data\0");

Merci d'avance à tous ceux qui pourront m'apporter leur aide.
mardi 17 août 2004 à 10:55:27 | Re : Configuration ODBC

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Te connecter direct a ta base mdb n'irait pas aussi bien ?

ciao...
BruNews, Admin CS, MVP Visual C++
mardi 17 août 2004 à 11:11:16 | Re : Configuration ODBC

picinounours51

Réponse acceptée !
En fait je ne sais pas comment me connecter directement.
Donc si tu sais comment faire pour, cela me serait d'une grande aide.

Merci d'avance

mardi 17 août 2004 à 11:19:04 | Re : Configuration ODBC

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Un exemple, si prob tu demandes mais regarde la doc MSDN avant.

#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include "McrAsm.h"

#pragma comment(lib, "odbc32.lib")

HINSTANCE hinst;
SQLHANDLE henv, hconn;
long lerror = 0;

char szbuff[1024];
char *szappname = "Connect";

int OdbcConnEnvCreate()
{
SQLRETURN retcd;
retcd = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
if(retcd == SQL_SUCCESS) goto envOK;
if(retcd == SQL_SUCCESS_WITH_INFO) goto envOK;
strcpy(szbuff, "Environment handle allocation failed");
goto errMsg;
envOK:
retcd = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3,0);
if(retcd == SQL_SUCCESS) goto versOK;
if(retcd == SQL_SUCCESS_WITH_INFO) goto versOK;
strcpy(szbuff, "ODBC version incorrecte");
goto envOut;
versOK:
retcd = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hconn);
if((retcd == SQL_SUCCESS) || (retcd == SQL_SUCCESS_WITH_INFO)) return 1;
strcpy(szbuff, "Connection handle allocation failed");
envOut:
SQLFreeHandle(SQL_HANDLE_ENV, henv);
errMsg:
MessageBox(0, szbuff, szappname, MB_ICONERROR);
return 0;
}


int OdbcMdbConnect(int unic, int rdonly, char* dbname, char* dbpwd) // les 2 char* options
{
SQLRETURN retcd;
retcd = SQLSetConnectAttr(hconn, SQL_ATTR_ACCESS_MODE, (SQLPOINTER)SQL_MODE_READ_ONLY, 0);
char *c = bnstrcpy(szbuff, "DRIVER={Microsoft Access Driver (*.mdb)};");
if(unic) c = bnstrcpy(c, "EXCLUSIVE=1;");
*c = 'D'; *(c+1) = 'B'; *(c+2) = 'Q'; *(c+3) = '='; *(c+4) = 0;
if(rdonly) SQLSetConnectAttr(hconn, SQL_ATTR_ACCESS_MODE, (SQLPOINTER)SQL_MODE_READ_ONLY, 0);
if(dbname) {
c += 4;
if(dbname[0]) {
c = bnstrcpy(c, dbname);
if(dbpwd) {
if(dbpwd[0]) {
*c = ';'; *(c+1) = 'P'; *(c+2) = 'W'; *(c+3) = 'D'; *(c+4) = '=';
c = bnstrcpy(c+5, dbpwd);
}
}
}
}
retcd = SQLDriverConnect(hconn, 0, (SQLCHAR*)szbuff, c - szbuff,
0, 0, 0, SQL_DRIVER_COMPLETE_REQUIRED);
if((retcd == SQL_SUCCESS) || (retcd == SQL_SUCCESS_WITH_INFO)) return 1;
SQLFreeHandle(SQL_HANDLE_DBC, hconn);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 0;
}

void AppPathInitialize()
{
char szThis[300];
char* c = szThis + GetModuleFileName(NULL, szThis, 300);
while(*c != '\\') c--; *c = 0;
SetCurrentDirectory(szThis);
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int)
{
hinst = hInstance;
AppPathInitialize();

if(!OdbcConnEnvCreate()) return 0;

if(!OdbcMdbConnect(1 , 0, "Mybase.mdb", 0)) return 0;

MessageBox(0, "OK", szappname, MB_ICONINFORMATION);
SQLDisconnect(hconn);
SQLFreeHandle(SQL_HANDLE_DBC, hconn);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 0;
}


ciao...
BruNews, Admin CS, MVP Visual C++


Cette discussion est classée dans : odbc, data, configuration, configuré, sqlconfigdatasource


Répondre à ce message

Sujets en rapport avec ce message

CDatabase::Open() [ par julok2 ] Bonjour à tous,déjà je suis désolé d'envoyer autant de messages sur le forum mais j'ai beaucoup de mal à me documenter correctement sur ODBC avec les CDatabase::Open() [ par julok2 ] Bonjour à tous,déjà je suis désolé d'envoyer autant de messages sur le forum mais j'ai beaucoup de mal à me documenter correctement sur ODBC avec les problème avec la transmission de charactères via ODBC [ par suzane ] Salut!j'utilise ODBC driver pour me connecte a une base de données, je veux donc stocké des chaînes de caractères en Arabe,alors je doit désactivé l'o ODBC Connect dialog: lacks text if api called from dll [ par mfritschi ] hi,i am writing an abstract data access framework. it enables us amongother things to access databases without being interested in theactual underlyin Accéder à une source de données ODBC [ par Alain ] Bonjour, j'aimerais savoir si il est possible et comment (exemples, site,...) accéder à une source de données ODBC comme en Java. Merci de votre aide, programmation odbc [ par adel ] comment resoudre les problèmes d'appel à l'API ODBC ,telque l'appel à SQLNativeSql? Les grandes tables Access et ODBC [ par Michel Caramez ] Bonjour,Je travail sur un système de récupération de données en C++ via un ODBC sur une table MS Access. j'ai développé une mini application. Mais voi Pb avec une fonction windows... [ par Steak ] j'ai un petit probleme avec la fonction NT UpdateResource... voila ce que dit le sdk win32 : BOOL UpdateResource( HANDLE hUpdate, // update-file handl ouverture de fichier de texture en .BMP [ par steph76 ] voila je developement en ce moment mon moteur3d pour 1 jeux.Le probleme c'est la fonction d'ouverture de fichier.BMP. Elle fonctionne trés bien sur la Bases de données odbc [ par f1cobra ] Bonjour, Comment gérer le mode du jeu d'enregistrement pour une base de donnees access odbc ?J'essaie d'enregistrer des données a partir d'une boite d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales