2

J'ai un problème avec mon application dotnet qui lit les données de différentes tables de mon serveur de base de données d'avantage à travers une déclaration de "jointure" sql. Les tables proviennent d'une ancienne application de clipper, donc le type de table est "ntx". Un fichier * .dbf et plusieurs fichiers * .ntx pour chaque table. J'utilise le fournisseur de données dotnet pour me connecter à la base de données. Chaîne de connexion: Data Source = \ chemin_base_données \ database.add; Mot de passe = *; ID utilisateur = Adssys; CharType = GENERAL_VFP_CI_AS_437; ServerType = REMOTE; LockMode = COMPATIBLE, Shared = True; TableType = NTX; UnicodeCollation = de_DE »Rejoindre CharType GERMAN_VFP_CI_AS_437

Tout fonctionne bien jusqu'à ce que l'application d'une « jointure » dans l'instruction SQL. le serveur renvoie toujours une table vide.

Sans réglage de la charType dans la chaîne de connexion, le serveur renvoie le résultat correct.

Comment est-il possible de définir une instruction "join" avec CharType défini sur GENERAL_VFP_CI_AS_437?

Répondre

2

Les classements de type VFP sont uniquement pris en charge pour les formats de fichier ADT et VFP. Ils ne sont pas pris en charge avec les tables de style NTX. Some information is here. Malheureusement, il semble qu'une vérification d'erreur soit en train d'être contournée ou supprimée d'une manière ou d'une autre avec cette utilisation lorsque la table NTX se trouve dans le dictionnaire (par opposition à une table libre). La requête (qu'elle inclue ou non une jointure) doit renvoyer une erreur (code d'erreur 7200 avec une erreur native 5025). Pour utiliser ce classement avec une table DBF, il est nécessaire d'utiliser le type de table VFP.