begin process at 2012 05 29 19:58:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

ODBC : ERROR : LNK 2019


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

ODBC : ERROR : LNK 2019

mardi 23 août 2005 à 17:30:51 | ODBC : ERROR : LNK 2019

forfait3

Bonjour,

je développe une application qui doit se connecter à une base de données sous SQL Server 2000 SP3.
Le développement se fait en C++ sous Visual Studio .Net 2003.
Le MDAC installé est le 2.8 SP1.
OS : Windows 2000 Server SP4.

Mon problème se situ au linkage lors de la compilation :


DBImplementation.obj : error LNK2019: symbole externe non résolu _SQLSetEnvAttr@16 référencé dans la fonction "public: __thiscall CDBImplementation::CDBImplementation(void)" (??0CDBImplementation@@QAE@XZ)
...

Le code associé est le suivant :

Contenu du fichier DBImplementation.h

#include "Sql.h"

#include "Sqlext.h"

#include "Sqltypes.h"

#include "Odbcss.h"

class CDBImplementation

{

private :

SQLHANDLE henv; // environment handle

SQLHANDLE hconn; // connection handle

CString sDBConnection; // connection string

CString sDriver; // driver (SQL Server)

CString sDatabase; // database name

CString sUserName; // user name

CString sPassword; // password

CString sServerName; // server name

public:

CDBImplementation();

~CDBImplementation();

// Accesseurs

CString getDBConnection() {return sDBConnection;}

void setDBConnection(CString value) {sDBConnection = value;}

CString getUserName() {return sUserName;}

void setUserName(CString value) {sUserName = value;}

CString getPassword() {return sPassword;}

void setPassword(CString value) {sPassword = value;}

CString getServerName() {return sServerName;}

void setServerName(CString value) {sServerName = value;}

// Connection

bool connect();

};

#endif


Contenu du fichier DBImplementation.cpp

#include "StdAfx.h"

#include "DBImplementation.h"

CDBImplementation::CDBImplementation()

{

// Initialiaze ODBC and allocate an environment handle

SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);

// Indicate the application

SQLSetEnvAttr(henv ,SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3, 0);

// Allocate an connection handle

SQLAllocHandle(SQL_HANDLE_DBC, henv, &hconn);

// Define the driver

sDriver = "SQL Server";

// Define the database

sDatabase = "GPEP";

// Initialize the attributes

sDBConnection = "";

sUserName = "";

sPassword ="";

sServerName ="";

}

CDBImplementation::~CDBImplementation()

{

// Disconnect from SQL Server and make the connection handle available for a new connection

SQLDisconnect(hconn);

// Free the connection handle

SQLFreeHandle(SQL_HANDLE_DBC, hconn);

// Free the environment handle

SQLFreeHandle(SQL_HANDLE_ENV, henv);

}

bool CDBImplementation::connect()

{

// Define read only acces

SQLSetConnectAttr(hconn, SQL_ATTR_ACCESS_MODE, (SQLPOINTER) SQL_MODE_READ_ONLY, 0);

// Define the connection string

sDBConnection = "DRIVER={"+ sDriver + "}; SERVER=" + sServerName + ";DATABASE=" + sDatabase + ";UID=" + sUserName + ";PWD=" + sPassword +";";

// Use a connection string to connect to SQL Server

SQLRETURN retcd = SQLDriverConnect(hconn, 0, (SQLCHAR*) sDBConnection.GetBuffer(), 1,0, 0, 0, SQL_DRIVER_COMPLETE_REQUIRED);

if (retcd == SQL_SUCCESS)

returntrue;

else

returnfalse;

}

Quelqu'un a t'il une idée pour me sortir de se guêpié ?

Merci.


 

mardi 23 août 2005 à 17:52:21 | Re : ODBC : ERROR : LNK 2019

BruNews

Administrateur CodeS-SourceS
tu as bien linké avec odbc32.lib ???

ciao...
BruNews, MVP VC++
mardi 23 août 2005 à 18:05:26 | Re : ODBC : ERROR : LNK 2019

forfait3

Je pense, mais je ne suis pas sûre d'avoir bien paramétré le projet.

Pourrais tu m'indiquer exactement où et comment linker cette librairie ?

Merci.
mardi 23 août 2005 à 18:08:59 | Re : ODBC : ERROR : LNK 2019

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
propriétés du proj, onglet linker tu ajoutes odbc32.lib

sinon tu mets en haut du fichier:
#pragma comment(lib, "odbc32.lib")

ciao...
BruNews, MVP VC++
mercredi 24 août 2005 à 10:53:44 | Re : ODBC : ERROR : LNK 2019

forfait3

Merci pour tout, c'est ok avec le #pragma.


Cette discussion est classée dans : connection, sql, handle, cstring, cdbimplementation


Répondre à ce message

Sujets en rapport avec ce message

pb d'augmentation de memoire avec connexion SQL [ par cassiopee88 ] Alors voila je vous explique mon problème : j'ai ecrit un programme en C qui suite à certain evenement envoi une requete SQL. Tous marche correctement mysql ODBC et augmentation de mémoire... [ par cassiopee88 ] Alors voila je vous explique mon problème : j'ai ecrit un programme en C qui suite à certain evenement envoi une requete SQL. Tous marche correctement Connection SQL vers free [ par kyript ] bonjours a tous je suis entrain de develloper une petite appli sql le pb lors de la connection ca marche pas sauf en local donc savez vous si c connection a une base sql avec des sockets [ par warenbe ] salut a tousj'essaye de coder un programme permettant de recuperer des infos sur un serveur sql et de les afficheerseulement je ne sais pas trop comme Connection SQL Server 2005 Impossible [ par Maiku ] SalutJ'ai une Base de Données SQL Server 2005 et je n'arrive pas à faire la connexion de mon application Visual Studio.net 2005 avec la Base de Donnée Connection à une base de donnée SQL [ par Math94 ] Salut la compagnie!Alors voilà c'est ici mon premier POST sur ce forum. Je vais donc me présenter dans les grandes lignes hein?!Donc je m'appelle Math Connection à SQL Serveur [ par amosc ] Salut les gars,Il y a t'il un objet ou des fonctions (sauf de mfc) qui permette une connection à SQLServeur par ODBC ou socket (je suis sous VC++)Merc Info sur les include [ par jose12 ] Bonjour, contexte : Je ne suis pas développeur mais admin réseau. Je connais un peu le VB et divers langage Web, et j'ai une vision très très succint Problème procedure stocké avec odbc32.lib [ par seb33510 ] J'ai créé une dll en c++ qui en utilisant la librairie Microsoft odbc32.lib me permet d'effectuer des traitements SQL. Ma base de donnée est SQLServer connecter à une base de données Mysql via ODBC et C [ par boualiasma ] Salut, Je voudrais connecter à une base de données Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows. le nom de DSN est : pays_


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 2,933 sec (3)

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