Logo du forum
 

Forum TT-Hardware

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [SQL / PL-SQL / SGBD] » [Résolu] Pb d'espaces non significatifs dans des varchar
Login Mot de passe

1 visiteurs sur ce topic (0 membre(s), 1 invité(s) )


Auteur
Sujet : [Résolu] Pb d'espaces non significatifs dans des varchar
Ixion
Vétéran
Membre # 5885

 Avatar du membre
Lieu : Rillettes'Land

Messages :
2255 (1.02 par jour)


Score :

Message du 25-09-2007 @ 17:39   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Bonjour,

J'ai un souci avec une table SQL de test. Elle est composée entre autre de données en varchar. Lorsque je charge cette table à l'aide d'un fichier texte via un BULK INSERT, les blancs en fin de zone sont présents dans la table. Or cette même table SQL en production avec le même format, même fichier texte d'alimentation et même fichier FMT, "supprime" les blancs non siginificatifs ! :yeux:

Y aurait-il un "paramètre" lors de la création de la table qui forcerait la suppression des blancs pour les varchar ?
D'ailleurs, la différence entre un char et un varchar n'est elle pas la suppression de ces blancs en fin de zone notamment ?

Je suis dans l'impasse... Si vous avez une idée, je suis preneur ;)

Merci d'avance.


[message édité le 02-10-2007 @ 17:49 Par Ixion]
----------
PC1 : P5K Pro | E8400 + Noctua NH-U12P | 2 Go PC6400 TRANSCEND | 8800GT 512 | 19" VP191b/24" Sensy LCD24KAL | Raptor 150Go/7K250 160 Go/Samsung 500Go | NEC AD-7170 | Lecteur DVD LG | Altec ATP3 | S12 550W | 69U6 Noir | MX3100 | ip5200R - Freebox + D-Link DGL-4300
PC2 : Abit IP-95 | E4300 | 17" LG 1720B | 1 Go DDR2 Balistix | Hitachi 7K250 160 Go | Nec ND-3500AG | Logitech S510
Portable : T75L 10,6" / 1,2ulv / 512Mo / 80Go (4200Trs/mn) / Graveur DVD / 1,2 Kg
- Haut de page -
Ixion
Vétéran
Membre # 5885

 Avatar du membre
Lieu : Rillettes'Land

Messages :
2255 (1.02 par jour)


Score :

Message du 26-09-2007 @ 9:20   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Pas d'expert en base SQL dans l'coin... :(
----------
PC1 : P5K Pro | E8400 + Noctua NH-U12P | 2 Go PC6400 TRANSCEND | 8800GT 512 | 19" VP191b/24" Sensy LCD24KAL | Raptor 150Go/7K250 160 Go/Samsung 500Go | NEC AD-7170 | Lecteur DVD LG | Altec ATP3 | S12 550W | 69U6 Noir | MX3100 | ip5200R - Freebox + D-Link DGL-4300
PC2 : Abit IP-95 | E4300 | 17" LG 1720B | 1 Go DDR2 Balistix | Hitachi 7K250 160 Go | Nec ND-3500AG | Logitech S510
Portable : T75L 10,6" / 1,2ulv / 512Mo / 80Go (4200Trs/mn) / Graveur DVD / 1,2 Kg
- Haut de page -
Icy
Administrateur
Membre # 871

 Avatar du membre
Lieu : Bxl

Messages :
16700 (5.78 par jour)


Score :

Message du 26-09-2007 @ 12:49   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

c'est pas une quesion de suppresion de blanc en fin de ligne ... heureusement d'ailleurs... un char 8 dans lequel tu met "a" donnera "a " apres un select. Dans un varchar ca donnera "a". mais si tu insere "a " da s un varchar tu récuperera "a ".



[message édité le 26-09-2007 @ 12:49 Par Icy]
----------
"May He touch you with His Noodly Appendage"
- Haut de page -
Ixion
Vétéran
Membre # 5885

 Avatar du membre
Lieu : Rillettes'Land

Messages :
2255 (1.02 par jour)


Score :

Message du 26-09-2007 @ 13:15   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

erf' dans ce cas, je ne comprend pas pourquoi ma table en production n'a pas de blanc en fin de chaque donnée alors qu'en test il y en a, avec de ce que je vois, les mêmes procstoc, fichier d'alimentation et fichier .fmt.

N'étant pas DBA, juste "utilisateur", je ne vois pas ce qui cloche...

Le DBA n'avait pas d'idée non plus ce matin :(
----------
PC1 : P5K Pro | E8400 + Noctua NH-U12P | 2 Go PC6400 TRANSCEND | 8800GT 512 | 19" VP191b/24" Sensy LCD24KAL | Raptor 150Go/7K250 160 Go/Samsung 500Go | NEC AD-7170 | Lecteur DVD LG | Altec ATP3 | S12 550W | 69U6 Noir | MX3100 | ip5200R - Freebox + D-Link DGL-4300
PC2 : Abit IP-95 | E4300 | 17" LG 1720B | 1 Go DDR2 Balistix | Hitachi 7K250 160 Go | Nec ND-3500AG | Logitech S510
Portable : T75L 10,6" / 1,2ulv / 512Mo / 80Go (4200Trs/mn) / Graveur DVD / 1,2 Kg
- Haut de page -
B2000
Administrateur
Membre # 185

 Avatar du membre
Lieu : France/Poitiers/juste à côté...

Messages :
9418 (3.11 par jour)




Message du 26-09-2007 @ 21:00   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

si des blancs en fin de ligne c'est de type char (allocation de place fixe), si pas de blanc c'est du varchar (allocation de place dynamique)

tu veux pas faire un 'describe' de table et donner le resultat ici ?
----------
AMD Barton 2600+| MSI K7N2 DELTA L| 1Go DDR400| Maxtor 160Go| Maxtor 60Go| LG GSA-4165B| Liteon LTD16X6S| LeadTek A280LE TD| Creative SBLive! 1024| Logitech QuickCam Pro 5000| Microsoft Natural Ergonomic 4000| Logitech Cordless Optical Mouse| Samsung SyncMaster 206BW

Nikon COOLPIX 5900 + Kingston Ultimate 120x 2GB | Canon PIXMA IP4000 | ADSL 100% Neuf Box

Pour dialoguer en live, le chat TTH ou par mIRC sur irc://porsche.webchat.org:6667/tt-hardware

Rejoignez la team EBuyClub TTH !!!

Un jour j'ai mangé une pomme...
- Haut de page -
Ixion
Vétéran
Membre # 5885

 Avatar du membre
Lieu : Rillettes'Land

Messages :
2255 (1.02 par jour)


Score :

Message du 26-09-2007 @ 23:26   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

B2000 a écrit

si des blancs en fin de ligne c'est de type char (allocation de place fixe), si pas de blanc c'est du varchar (allocation de place dynamique)


Donc quand on charge une donnée alpha par exemple 'TTH ' dans une colonne de type varchar(8) on devrait avoir 'TTH'. Or j'ai 'TTH ' dans ma table de test, alors que dans ma table de prod j'ai bien 'TTH'.

B2000 a écrit


tu veux pas faire un 'describe' de table et donner le resultat ici ?


Je te fais ça demain du boulot :smilejap:
----------
PC1 : P5K Pro | E8400 + Noctua NH-U12P | 2 Go PC6400 TRANSCEND | 8800GT 512 | 19" VP191b/24" Sensy LCD24KAL | Raptor 150Go/7K250 160 Go/Samsung 500Go | NEC AD-7170 | Lecteur DVD LG | Altec ATP3 | S12 550W | 69U6 Noir | MX3100 | ip5200R - Freebox + D-Link DGL-4300
PC2 : Abit IP-95 | E4300 | 17" LG 1720B | 1 Go DDR2 Balistix | Hitachi 7K250 160 Go | Nec ND-3500AG | Logitech S510
Portable : T75L 10,6" / 1,2ulv / 512Mo / 80Go (4200Trs/mn) / Graveur DVD / 1,2 Kg
- Haut de page -
Ixion
Vétéran
Membre # 5885

 Avatar du membre
Lieu : Rillettes'Land

Messages :
2255 (1.02 par jour)


Score :

Message du 27-09-2007 @ 10:36   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Voici une table :

Citation

CREATE TABLE [VALEURS_CODIERS] (
[VCO_COD_ID] [char] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[VCO_CODE] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[VCO_LIBELLE] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[VCO_LG_CODE] [numeric](6, 0) NULL ,
[VCO_ORDRE_AFF] [numeric](6, 0) NULL ,
[VCO_CMP] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
CONSTRAINT [PK_VALEURS_CODIERS] PRIMARY KEY CLUSTERED
(
[VCO_COD_ID],
[VCO_CODE]
) WITH FILLFACTOR = 90 ON [PRIMARY] ,
CONSTRAINT [FK_COD_VCO] FOREIGN KEY
(
[VCO_COD_ID]
) REFERENCES [CODIERS] (
[COD_ID]
)
) ON [PRIMARY]
GO



Sa procstoc de chargement :

Citation

-- Valeurs_codiers
SET @ls_NomTable = 'Valeurs_codiers'
SET @ls_DataFile = @is_DataPath + '\' + @ls_NomTable + '.TXT'
SET @ls_FmtFile = @is_FmtPath + '\' + @ls_NomTable + '.FMT'
SET @ls_SqlRequete = N'BULK INSERT d02.' + @ls_NomTable + N' FROM ''' + @ls_DataFile + N''' WITH (FORMATFILE=''' + @ls_FmtFile + N''' , MAXERRORS=1, CHECK_CONSTRAINTS)'
PRINT ' Lancement Chargement table '+ @ls_NomTable + ' le ' + convert(char(19), getdate(), 120)
EXEC sp_executesql @ls_SqlRequete
IF @@ERROR = 0
BEGIN
PRINT ' ' + @ls_NomTable + left(replicate('.',30),25-len(@ls_NomTable)) + 'OK'+ ' le :' + convert(char(19), getdate(), 120)
END
ELSE
BEGIN
PRINT ' ' + @ls_NomTable + left(replicate('.',30),25-len(@ls_NomTable)) + 'KO le : ' + convert(char(19), getdate(), 120)
GOTO ERREUR
END




----------
PC1 : P5K Pro | E8400 + Noctua NH-U12P | 2 Go PC6400 TRANSCEND | 8800GT 512 | 19" VP191b/24" Sensy LCD24KAL | Raptor 150Go/7K250 160 Go/Samsung 500Go | NEC AD-7170 | Lecteur DVD LG | Altec ATP3 | S12 550W | 69U6 Noir | MX3100 | ip5200R - Freebox + D-Link DGL-4300
PC2 : Abit IP-95 | E4300 | 17" LG 1720B | 1 Go DDR2 Balistix | Hitachi 7K250 160 Go | Nec ND-3500AG | Logitech S510
Portable : T75L 10,6" / 1,2ulv / 512Mo / 80Go (4200Trs/mn) / Graveur DVD / 1,2 Kg
- Haut de page -
B2000
Administrateur
Membre # 185

 Avatar du membre
Lieu : France/Poitiers/juste à côté...

Messages :
9418 (3.11 par jour)




Message du 01-10-2007 @ 17:26   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

sur quels champs tu bloques ?
----------
AMD Barton 2600+| MSI K7N2 DELTA L| 1Go DDR400| Maxtor 160Go| Maxtor 60Go| LG GSA-4165B| Liteon LTD16X6S| LeadTek A280LE TD| Creative SBLive! 1024| Logitech QuickCam Pro 5000| Microsoft Natural Ergonomic 4000| Logitech Cordless Optical Mouse| Samsung SyncMaster 206BW

Nikon COOLPIX 5900 + Kingston Ultimate 120x 2GB | Canon PIXMA IP4000 | ADSL 100% Neuf Box

Pour dialoguer en live, le chat TTH ou par mIRC sur irc://porsche.webchat.org:6667/tt-hardware

Rejoignez la team EBuyClub TTH !!!

Un jour j'ai mangé une pomme...
- Haut de page -
Ixion
Vétéran
Membre # 5885

 Avatar du membre
Lieu : Rillettes'Land

Messages :
2255 (1.02 par jour)


Score :

Message du 01-10-2007 @ 18:24   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

B2000 a écrit

sur quels champs tu bloques ?



Sur tous les champs varchar en fait. Par exemple, dans le champs VCO_CODE j'ai aujourd'hui en test 'CIVIL_____' (ou les "_" représente des blancs) alors qu'en prod j'ai 'CIVIL' sans les blancs pour compléter la zone.

Le DBA a vérifié les paramètres de création des tables, ils sont identiques en prod et en test... :( J'avais pensé à un SET ANSI_PADDING positionné différemment en prod et en test, mais apparemment ce n'est pas utilisé chez nous. Nous sommes donc dans l'expectative la plus complète.

Le batch de chargement est lancé à partir d'une session particulière. Le DBA doit vérifié s'il n'y aurait pas eu une modification d'un paramètre de ce côté, mais sans trop savoir quel paramètre serait en cause...

Si tu as une idée B2000, je suis preneur à 200% ;)
----------
PC1 : P5K Pro | E8400 + Noctua NH-U12P | 2 Go PC6400 TRANSCEND | 8800GT 512 | 19" VP191b/24" Sensy LCD24KAL | Raptor 150Go/7K250 160 Go/Samsung 500Go | NEC AD-7170 | Lecteur DVD LG | Altec ATP3 | S12 550W | 69U6 Noir | MX3100 | ip5200R - Freebox + D-Link DGL-4300
PC2 : Abit IP-95 | E4300 | 17" LG 1720B | 1 Go DDR2 Balistix | Hitachi 7K250 160 Go | Nec ND-3500AG | Logitech S510
Portable : T75L 10,6" / 1,2ulv / 512Mo / 80Go (4200Trs/mn) / Graveur DVD / 1,2 Kg
- Haut de page -
Ixion
Vétéran
Membre # 5885

 Avatar du membre
Lieu : Rillettes'Land

Messages :
2255 (1.02 par jour)


Score :

Message du 02-10-2007 @ 17:46   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Résolu !

En fait, il manquait bien le SET ANSI_PADDING OFF lors de la création des tables... Tout devrait rentrer dans l'ordre en recréant les tables avec cette option !

----------
PC1 : P5K Pro | E8400 + Noctua NH-U12P | 2 Go PC6400 TRANSCEND | 8800GT 512 | 19" VP191b/24" Sensy LCD24KAL | Raptor 150Go/7K250 160 Go/Samsung 500Go | NEC AD-7170 | Lecteur DVD LG | Altec ATP3 | S12 550W | 69U6 Noir | MX3100 | ip5200R - Freebox + D-Link DGL-4300
PC2 : Abit IP-95 | E4300 | 17" LG 1720B | 1 Go DDR2 Balistix | Hitachi 7K250 160 Go | Nec ND-3500AG | Logitech S510
Portable : T75L 10,6" / 1,2ulv / 512Mo / 80Go (4200Trs/mn) / Graveur DVD / 1,2 Kg
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2006

Valid XHTML 1.0 Transitional

Page générée en 0.108 secondes