IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

conversion failed ..


Sujet :

MS SQL Server

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut conversion failed ..
    j'utilise SSIS du MS SQL SERVER 2008

    je reçoit ce message d'erreur


    quand j'entre la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT     CodeZ, IdE, Zone, __CDC_OPERATION AS Operation
    FROM         dbo.fn_all_changes_dbo_Zone('" + @[User::DataLoadStart]
    + "', '" + @[User::DataLoadEnd] + "', 'all') AS fn_all_changes_dbo_Zone_1
    ORDER BY __CDC_STARTLSN, __CDC_SEQVAL
    dans ADO SOURCE EDITOR pour extraire les données du "change table"

    je serait reconnaissant si vous m'aidez à trouver la bonne solution pour ce probleme et merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    le message est clair : vous avez une erreur de conversion entre une date exprimée ne chaine de caractères et un type DATE SQL.

    Comme nous l'avons mille fois répété, le seul format valide indépendant des divers paramétrage est le format ISO court AAAAMMJJ.

    Lisez l'article que nous avons écrit à ce sujet : http://baptiste-wicht.developpez.com...-sql/datetime/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    Merci pour m'avoir répondu
    le problème que je travail sûr "sql server integration service" SSIS
    je m'explique je suis entrain d'etalir un data mart pour mon projet je suis les étapes fournies dans le livre "delivreing Business intelegence sql server 2008"

    je cite:
    Loading a Data Mart Table from a
    Change Data Capture Change Table
    In order to utilize the data in the change table, we need to create an Integration Services
    package. This package will use our wrapper function to query data from the change table
    and then apply those changes to a target table in the data mart. In this section, we will
    explore the control flow and the data flow of a package that does just that.
    Control Flow for Loading Data from Change Data Capture
    The control flow for an Integration Services package that loads data from change data
    capture is shown in Figure 8-12. This control flow has three steps:
    1. Finding the start and end dates to use for this data load and creating a query that
    uses those start and end dates.
    2. Load the data from the change data table into the data mart.
    3. Save the end date so the package knows where to start from the next time it is run.
    “Get Data Loaded Thru Date” is an Execute SQL task. It runs a query against a table
    called DataLoadedThru to get the start and end dates for this data load. The query is:
    SELECT CONVERT(nvarchar(50), OrderDataLoadedThru, 121) AS DataLoadStart,
    CONVERT(nvarchar(50), DATEADD(d, 1, OrderDataLoadedThru), 121)
    AS DataLoadEnd
    FROM dbo.DataLoadedThru
    This query gets the previous end date to use as the new start date. It assumes the
    Integration Services package is run every 24 hours, so it uses the start date plus one
    day as the new end date. Care must be taken with this setup to ensure the change data
    capture has been processed past the calculated end date by the time this package is run.
    This Integration Services package uses two variables to hold the dates returned by
    this query. We tell the Execute SQL task that our query will only return one record in
    the result set. Then, we set the variable mappings, as shown in Figure 8-13.
    A third Integration Services variable uses the DataLoadStart and DataLoadEnd
    variables to create a query. This variable is called DataLoadQuery. We set the
    EvaluateAsExpression property of this variable to true and set the Expression property to:
    "SELECT OrderDate, CustomerAccount, Product, Store, Promotion,
    SalesPerson, StoreSales, UnitSales, __CDC_OPERATION AS Operation
    FROM dbo.fn_all_changes_dbo_Orders('" + @[User:ataLoadStart]
    + "', '" + @[User:ataLoadEnd] + "', 'all')
    ORDER BY __CDC_STARTLSN, __CDC_SEQVAL"
    sauf que j'utilise une source de donnée ADO NET non pas OLE DB
    d'où je ne pourrait pas utiliser la variable DataLoadQuery mais mettre sa contenu (à savoir la requête que j'ai mis au racine) comme une commande sql
    mais quand je valide je me trouve face à ce message d'erreur

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    SELECT CONVERT(nvarchar(50), OrderDataLoadedThru, 121) AS DataLoadStart,
    CONVERT(nvarchar(50), DATEADD(d, 1, OrderDataLoadedThru), 121)
    AS DataLoadEnd
    C'est cette requête qui sans doute pose les problèmes car elle fait des conversions chaine => date qui ne sont pas correctes.
    121 vous donne ce format aaaa-mm-jj hh:mi:ss.mmm
    Il vous faut ce format : AAAAMMJJ sans tiret...

    Lisez au moins les message que l'on vous donne et les références à suivre.
    En changeant le code 121 par le bon code que vous trouverez dans l'aide en ligne je pense que vous aurez résolu votre problème.

    Allez, faites un petit effort !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/12/2012, 11h59
  2. Réponses: 1
    Dernier message: 02/07/2010, 17h50
  3. Conversion de Clob a String failed
    Par mona dans le forum JDBC
    Réponses: 1
    Dernier message: 16/10/2008, 23h24
  4. Réponses: 1
    Dernier message: 12/11/2007, 16h48
  5. Réponses: 2
    Dernier message: 05/06/2002, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo