2009-11-06 5 views
0

J'ai testé la différence entre définir varchar (max) dans le texte opposé avec notre application héritée sur un SQL Server 2005. Tout s'est très bien passé et le nouveau type de données réduit dans un particulier le cas de test le nombre de lectures de 78 à 8 qui représente un gain de performance que nous ne voulons pas manquer.varchar (max) type de données odbc mappage à ms-access2003

Mais maintenant sur le SQLServer cible de la version 2008 je reçois un problème: les colonnes de type de données varchar (max) sont maintenant mis en correspondance avec la msaccess2003 texte de type de données (255).

Où cette définition ODBC est-elle définie? Quel paramètre doit être modifié pour obtenir le mappage désiré varchar (max) à memo?

paix

Ice

Mise à jour:

Maintenant, je sais que lorsque je connecte les ODBC Sources d'accès tout à distance connecté sur le Win 2008/SQL Server 2008 la mise en correspondance de varchar (max) au ms-access-datatype est correct. Nous travaillons dans un réseau local et, bien que connecté sur le serveur Win2003-Citrix connectant les sources ODBC avec ms-access, le mappage se passe mal. Situation très étrange, que se passe-t-il?

+0

Cela semble très probable que les pilotes ODBC du serveur sont d'une version différente de ceux des stations de travail. Je suppose que vous n'avez pas l'impression que les pilotes ODBC du serveur sont utilisés par les postes de travail client connectés, n'est-ce pas? Personne d'autre que ceux qui sont connectés à une session sur le serveur n'utilisera les pilotes ODBC du serveur. Rappelez-vous, il s'agit d'Access avec ODBC, ce qui signifie que c'est Jet, et Jet utilise les pilotes ODBC de votre machine locale. –

+0

@David: Oui, pour shure je connais cette cohérence. Par conséquent, nous avons installé les outils Client-conectivity SQL2008 sur le client. Il doit y avoir une différence, mais où regarder? – Ice

Répondre

0

Bien que cet article fait référence à l'importation, il peut être vous intéresser: http://www.windows-tech.info/15/313c8cc3ac03f313.php

Il déclare:

Votre champ dans SQL Server devrait être un NVARCHAR (MAX) à la carte directement le champ MEMO dans Access. Les types de données à l'intérieur du package SSIS pour ce champ doivent être DT_NTEXT.

- Phil Brammer

+0

Notre application héritée ne peut pas gérer les types de données Unicode mais je vais essayer. – Ice

1

Passage du pilote natif SQL Server Native client 10.0 à Windows XP SQL Server cuite au four pour une connexion ODBC a fonctionné pour moi.

SQL Server 2008 varchar (max) désormais mappé au mémo Access 2003 dans ma table liée.

Questions connexes