Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2011, 17h44   #1
Nouveau Membre du Club
 
Pierre PERRIN
Inscription : juin 2006
Messages : 53
Détails du profil
Informations personnelles :
Nom : Pierre PERRIN
Âge : 56
Localisation : France, Hauts de Seine (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 53
Points : 29
Points : 29
Par défaut fichier plat impossible à charger

Bonjour,

Je modifie une application SQL Server 2005 qui alimente un datawarehouse à partir de fichiers logs applicatifs.

J'ai une boucle de chargement par For Each Loop qui inclut un traitement dans le Data Flow.

Les faibles performances de SSIS au niveau des séparateurs m'obligent à saisir des lignes complètes sans séparateurs (la séparation est effectuée par des scripts VB). Ceci fonctionnait très bien jusque là avec les anciens logs.

Avec les nouveaux logs, j'obtiens le message
Code :
1
2
 
An error occurred while processing file "D:\LOG_PARSER\MAG_SRC_LOG\serverlog\40app_exploit-mag-bdbctserverlogconfig_110911.log" ON DATA row 1.
Notez qu'après "row 1" apparaissent deux carrés qui symbolisent sans doute
  1. soit des caractères pourris
  2. soit fin de ligne associé à retour chariot

Je n'ai rien d'autre comme information, aucun moyen de tracer
le contenu de la ligne qui pose problème
la position exacte de la ligne incriminée (le chiffre 1 ne veut rien dire puisque la ligne 1 passe très bien seule ou dans un paquet restreint)

Que faire ?

Merci beaucoup
bridaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 17h59   #2
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Bonjour,

Citation:
Notez qu'après "row 1" apparaissent deux carrés qui symbolisent sans doute

soit des caractères pourris
soit fin de ligne associé à retour chariot
Ou bien des caractères Unicode, que notepad (si c'est bien l'application avec laquelle vous avez vu les carrés) ne sait pas interpréter, à moins, je crois, que le fichier soit sauvegardé en Unicode.

Le premier enregistrement de votre fichier contient-il ces carrés ?

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 20h38   #3
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Les faibles performances de SSIS au niveau des séparateurs m'obligent à saisir des lignes complètes sans séparateurs
Ca ca me fera toujours mourir de rire...

Vous n'avez pas du tester beaucoup SSIS pour avancer ce genre d'ignominie...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 08h58   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 958
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 958
Points : 17 789
Points : 17 789
Citation:
Envoyé par iberserk Voir le message
Ca ca me fera toujours mourir de rire...

Vous n'avez pas du tester beaucoup SSIS pour avancer ce genre d'ignominie...
C'est vrai que insérer 1 To de données via SSIS en 30 minutes, c'est quand même un peu léger !!!

http://msdn.microsoft.com/en-us/libr...ql.100%29.aspx

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 08h59   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
SQLPRO, vous savez bien qu'avec un bon pattern vous pouvez faire beaucoups mieu en CSHARP avec LINQ TO ENTITIES...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 09h06   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 958
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 958
Points : 17 789
Points : 17 789
T'as pas honte de poster des trucs comme ça, j'ai faillit vôôôôôôôôômir mon Kfé !
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 09h06   #7
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 159
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 159
Points : 1 611
Points : 1 611
Citation:
Envoyé par bridaine Voir le message
Je n'ai rien d'autre comme information, aucun moyen de tracer
le contenu de la ligne qui pose problème
la position exacte de la ligne incriminée (le chiffre 1 ne veut rien dire puisque la ligne 1 passe très bien seule ou dans un paquet restreint)
Avez vous teste les data viewers ?
Ptit_Dje est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 10h37   #8
Nouveau Membre du Club
 
Pierre PERRIN
Inscription : juin 2006
Messages : 53
Détails du profil
Informations personnelles :
Nom : Pierre PERRIN
Âge : 56
Localisation : France, Hauts de Seine (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 53
Points : 29
Points : 29
Par défaut solution provisoire

Bonjour

Un grand merci à ceux d'entre vous qui ont pris la peine d'analyser ma demande et d'y répondre favorablement.

Le problème est momentanément résolu par un simple copier coller dans un nouveau fichier ce qui supprime les caractères non acceptés (si le message avait pu être plus précis...et le Data Viewer n'a rien écrit).

Maintenant il va falloir trouver une solution pour que les fichiers chargés automatiquement soient valides en entrée, ça c'est une autre histoire !
S'il y a 100 fichiers plats, je ne vais pas les recopier un à un

Enfin pour répondre à mon détracteur, il suffit de rappeler qu'EXCEL autant que SSIS traite les séparateurs sauf que :
  • EXCEL propose une case libre "Autres" permettant de spécifier son propre séparateur, ce n'est pas le cas sur SSIS
  • si EXCEL et SSIS formatent les colonnes avec le nombre maximal de séparateurs, EXCEL complète les colonnes vides par des colonnes à blanc alors que SSIS vient fourrer les lignes suivantes en guise de colonnes de complément sans tenir compte des fins de ligne qui ont pourtant été définies et le résultat devient aberrant (constaté il y a deux ans)

Malheureusement, on ne peut pas utiliser EXCEL pour ce genre d'application.

Voilà entre autres joyeusetés le genre de bug que l'on peut rencontrer sur un produit certes performant mais qui aurait mérité une finition un plus soignée (rappel concernant le constructeur : 5000 bugs répertoriés sur la version la plus performante de Windows XP, je cite un expert du CNAM aujourd'hui retraité mais qui est toujours consultant pour THALES, EDF et le Ministère de la Défense, excusez du peu)

Je ne me prétends pas un cador mais j'ai au moins la politesse de respecter mes interlocuteurs, cela fait partie de mon éducation de simple fils d'ouvrier

Quant à CSHARP et autres, je ne suis pas DSI et donc ne peux utiliser que les outils mis à ma disposition
bridaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 07h35   #9
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
SQLPRO, vous savez bien qu'avec un bon pattern vous pouvez faire beaucoups mieu en CSHARP avec LINQ TO ENTITIES...
Citation:
Quant à CSHARP et autres, je ne suis pas DSI et donc ne peux utiliser que les outils mis à ma disposition
Non mais c'était ironique le coups de LINQ TO ENTITIES
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 08h54   #10
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 958
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 958
Points : 17 789
Points : 17 789
Citation:
Envoyé par bridaine Voir le message
Enfin pour répondre à mon détracteur, il suffit de rappeler qu'EXCEL autant que SSIS traite les séparateurs sauf que :
  • EXCEL propose une case libre "Autres" permettant de spécifier son propre séparateur, ce n'est pas le cas sur SSIS
  • si EXCEL et SSIS formatent les colonnes avec le nombre maximal de séparateurs, EXCEL complète les colonnes vides par des colonnes à blanc alors que SSIS vient fourrer les lignes suivantes en guise de colonnes de complément sans tenir compte des fins de ligne qui ont pourtant été définies et le résultat devient aberrant (constaté il y a deux ans)
Ce que vous dite est faux :
1) on peut utiliser n'importe quel séparateur de champs et dilimiteur de ligne sous SSIS !
2) de même on peut choisir le mode de complétion, y compris chiane vide = NULL

Citation:
Voilà entre autres joyeusetés le genre de bug que l'on peut rencontrer sur un produit certes performant mais qui aurait mérité une finition un plus soignée (rappel concernant le constructeur : 5000 bugs répertoriés sur la version la plus performante de Windows XP, je cite un expert du CNAM aujourd'hui retraité mais qui est toujours consultant pour THALES, EDF et le Ministère de la Défense, excusez du peu)
Et là, cela s'apparente à de la diffamation !
1) vous confondez visiblement bug et votre propre incompétence
2) lorsque l'on cite, on poste les références...

CONCLUSION :
Commencez par vous former à SSIS parce que là vous faites perdre du temps à ceux qui pourrait vous aider en sus de raconter d'énormes âneries !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 11h03   #11
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 139
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 139
Points : 2 467
Points : 2 467
Envoyer un message via Yahoo à zinzineti
Citation:
Envoyé par bridaine Voir le message
Maintenant il va falloir trouver une solution pour que les fichiers chargés automatiquement soient valides en entrée, ça c'est une autre histoire !
S'il y a 100 fichiers plats, je ne vais pas les recopier un à un
Regarde si tu peux utiliser BULK INSERT avec les fichiers de format (.fmt)

voici un lien

Pour des projets d'import/export de données j'utilise soit BCP ou BULK INSERT

A+
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h59.


 
 
 
 
Partenaires

Hébergement Web