IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

ODBC et Native Client en C/C++


Sujet :

Développement SQL Server

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par défaut ODBC et Native Client en C/C++
    Bonjour,

    J'ai un programme écrit il y a très longtemps sous Visual Studio 6.0 (vraiment longtemps ).
    Je l'ai porté sous Visual Studio 2015, il est prêt à partir en production.
    Je ne me suis pas contenté de changer de compilateur, chaque ligne de code a été revue et réécrite si besoin (unicode, 64 bits, odbc 3.x, etc).

    J'ai cependant eu un soucis en cours de développement, corrigé mais pas "logique" à mon avis.
    J'utilise odbc et bcp, donc ces fichiers sont inclus:
    sql.h
    sqlext.h
    sqlncli.h
    Le soucis est que le programme crashe lorsque je fait l'édition de lien avec sqlncli11.lib. Mais en faisant l'édition de lien avec odbcbcp.lib, il fonctionne sans soucis. Cela ne me parait pas logique.

    Je m'interroge sur ce fait sachant que, en l'état, tout fonctionne comme attendu.

    A quoi sert donc sqlncli11.lib ?
    Merci.

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par défaut
    J'ai oublié de préciser un détail: seul les fonctions bcp_xxxx se plantent (en fait dès le premier appel à bcp_init)

    L'informatique, Microsoft, et leurs mystères insondables...

    Donc...
    J'utilise ODBC et son API en C.
    Une connection vers une DB se fait via une "Connection String" dans laquelle on précise, entre autres, le mot clé Driver. Depuis la nuit des temps j'utilise Driver=SQL Server avec succès. Que ce soit avec SQL Server 2000 ou SQL Server 2016, ça fonctionne (rassurez-vous, il n'y a plus de 2000 en production ).

    En chipotant un peu j'ai constaté ceci si on veut que les fonctions bcp_xxxx fonctionnent correctement:
    -il faut linker avec odbcbcp.lib si on utilise dans la "Connection String" Driver=SQL Server;
    -il faut linker avec sqlncli11.lib si on utilise dans la "Connection String" Driver=SQL Server Native Client 11.0.
    Tout le reste étant par ailleurs identique.
    De plus, avec la deuxième "Connection String" Driver=SQL Server Native Client 11.0 les performances sont étonnement accrues !

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par camboui Voir le message
    ...
    De plus, avec la deuxième "Connection String" Driver=SQL Server Native Client 11.0 les performances sont étonnement accrues !
    Lisez ceci :
    https://www.developpez.net/forums/d1...t/#post9132115

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SQL Server 2005 Native client n'apparaît pas dans ODBC
    Par dnboa dans le forum Administration
    Réponses: 5
    Dernier message: 16/05/2011, 20h02
  2. pb de connexion ODBC Sql Server Native client 10.0 , Etat '08001'
    Par batou22003 dans le forum Développement
    Réponses: 3
    Dernier message: 20/07/2010, 14h11
  3. Réponses: 3
    Dernier message: 09/07/2010, 09h39
  4. Microsoft SQL Native Client error '80040e38'
    Par Tragnee dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/11/2007, 21h39
  5. Réponses: 4
    Dernier message: 05/05/2006, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo