2008-12-12 4 views
0

J'ai lu tous les articles sur le préfixage des nombres avec 'et la définition de IMEX = 1 dans la chaîne de connexion; rien ne semble faire l'affaire pour moi.L'assistant d'importation SQL supprime le premier zéro

Voici la configuration: Colonne Excel avec données mélangées - 99% de chiffres (certains commencent par 0) 1% de texte.

Importation de manière systématique dans le type de table/colonne SQL Server 2005 - varchar (255).

L'importation fonctionne correctement localement, mais une fois que je déplace le code en production (GoDaddy), les 0 premiers de la colonne sont supprimés.

Des idées?

p.s. Je savais à propos de la solution de changement de registre, la valeur a été définie sur 0 sur ma boîte de dev, mais la réponse m'a fait réaliser que la valeur n'a pas été définie sur le SERVEUR DE PRODUCTION :)

Répondre

2

Le pilote ISAM que des échantillons les 8 premières lignes, mais vous pouvez changer ce comportement par un changement de registre:

http://sqlserversd.wordpress.com/2008/09/14/ssis-excel-values-import-as-nulls/

Mais oui, en utilisant Excel pour les données de machine à machine de transfert est un cauchemar ... N'y a-t-il pas d'autre moyen d'envoyer les données?

+0

même si j'avais cette valeur modifiée dans le registre, cette réponse m'a fait réaliser que la valeur sur SERVEUR DE PRODUCTION n'a pas été changée :) –

+0

Maintenant que cela m'a fait lol, le problème typique «Mais ça marche sur ma machine»:) – Meff

2

Oui. Le pilote Excel échantillonne uniquement les 8 premières lignes pour déterminer le type de données. Cela signifie qu'il suppose que la colonne est numérique. "Bob" n'apparaît pas dans les lignes 1 à 8.

Le type de données de la colonne de la table cible n'est pas pertinent.

Cette question a été là pour un long time, je l'ai vu en 2003 la première fois.

BOL notes on excel import

0

Nous économisons généralement le fichier en tant que fichier .csv ou un fichier .txt et le problème ne se produit pas.

0

Il y a un moyen rapide et délicat pour cela. en suivant ces étapes, mais d'abord copier toutes les données/colonnes et les lignes de la feuille Excel réelle dans une autre feuille Excel juste pour être du côté sûr de sorte que vous avez les données réelles à comparer avec.

Étapes:

  1. Copiez toutes les valeurs de la colonne et les coller dans un bloc-notes.
  2. Maintenant, changez le type de colonne en texte dans la feuille Excel (il va couper les zéros précédant/suivant), ne vous inquiétez pas à ce sujet.
  3. Accédez au Bloc-notes et copiez toutes les valeurs que vous avez collées tout à l'heure.
  4. Accédez à votre feuille Excel et collez les valeurs dans la même colonne.

Si vous avez plus d'une colonne avec 0 valeurs alors répétez simplement la même chose. Maintenant, votre document Excel est prêt à être importé avec Zero Values ​​:).

Jours heureux.