Fournisseur OLE DB pour ODBC (Moteur de base de données)

Le fournisseur OLE DB pour ODBC fournit une interface OLE DB pour les sources de données ODBC. C'est par le biais de ce fournisseur que les requêtes distribuées peuvent accéder à toutes les données ODBC.

Notes

Pour les sources de données SQL Server 2000, utilisez le fournisseur OLE DB pour SQL Server Native Client. N'utilisez pas le fournisseur OLE DB pour ODBC.

Pour créer un serveur lié afin d'accéder à une base de données ODBC lorsque vous utilisez une source de données ODBC, procédez comme suit :

  1. Créez une source de données système sur l'ordinateur où est installé SQL Server.

  2. Exécutez sp_addlinkedserver pour créer le serveur lié en spécifiant MSDASQL ou NULL en tant que provider_name et le nom d'une source de données système ODBC en tant que data_source.

    Les sources de données utilisateur ODBC ne peuvent pas être utilisées pour des requêtes distribuées, car SQL Server s'exécute en tant que service sous Microsoft Windows ; or les services n'ont pas toujours accès aux sources de données utilisateur. Par exemple, une source de données système appelée SystemDSN fait référence à un serveur qui exécute SQL Server et où la base de données AdventureWorks2008R2 est celle définie par défaut :

    sp_addlinkedserver 'SQLAdWorks', ' ', 'MSDASQL', 'SystemDSN'
    

Les serveurs liés peuvent se servir du fournisseur OLE DB pour ODBC sans utiliser de source de données ODBC. Le serveur lié est défini en une étape. Toutes les informations dont le fournisseur OLE DB pour ODBC a besoin pour localiser un pilote ODBC et se connecter à une source de données ODBC doivent être définies dans provider_string.

Les restrictions répertoriées ci-après sont applicables si un serveur lié est défini à l'aide du fournisseur OLE DB pour ODBC et accède à une base de données SQL Server :

  • Les tables ne peuvent pas être référencées si elles contiennent des colonnes timestamp.

  • Les tables ne peuvent pas être référencées si elles contiennent des colonnes de type char, varchar, nchar, nvarchar, binary ou varbinary acceptant les valeurs NULL et si l'option ANSI_PADDING a été définie sur OFF lors de la création de la table.