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

C# Discussion :

temps de réponse ADODB.Recordset


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Par défaut temps de réponse ADODB.Recordset
    bonjour

    j'ai écrit une methode générique qui accède à un serveur SAS renvoyant un objet de type DataTable qui est une Table SAS avec les format appliqué à la table dont voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
     
       public static DataTable getTableFormat(string req, Workspace ws )
            {
                System.Data.OleDb.OleDbDataAdapter sasDataAdapter = new System.Data.OleDb.OleDbDataAdapter();
                System.Data.DataSet sasData = new System.Data.DataSet();
                ADODB.Connection adoConnection = new ADODB.ConnectionClass();
                try
                {
                    ADODB.Recordset adoRecordset = new ADODB.Recordset();
                    ADODB.Command adoCommand = new ADODB.CommandClass();
     
                    adoConnection.Open("provider=SAS.IOMProvider.1; SAS Workspace ID=" +
                        ws.UniqueIdentifier,
                        "", "", 0);
     
                    adoCommand.ActiveConnection= adoConnection ;
                    adoCommand.CommandText = req ;
                    adoCommand.Properties["SAS Formats"].Value = "_ALL_";
                    adoCommand.CommandType = ADODB.CommandTypeEnum.adCmdText;
     
                    adoRecordset.Open(adoCommand,
                        System.Reflection.Missing.Value,
                        ADODB.CursorTypeEnum.adOpenDynamic,
                        ADODB.LockTypeEnum.adLockReadOnly,
                        1);
     
     
                    sasDataAdapter.Fill(sasData, adoRecordset, "sasdata");
                }
                catch(Exception ex)
                {
                    MessageBox.Show(AbsSidUtil.PbmConnectionMsg+ex.Message,"Message",MessageBoxButtons.OK,MessageBoxIcon.Asterisk) ;
                }
                finally
                {
                    adoConnection.Close() ;
     
     
                }
                return sasData.Tables["sasdata"] ;
     
     
     
        }
    alors ça marche bien, mais les temps de réponse sont long, surtout quand la table est volumineuse, c'est dans l'ordre de la minute .
    je pense que la raison, c'est l'utilisation de l'objet ADODB.Recordse

    mon besoin est de récupérer une table SAS en entier


    merci pour votre aide



    Cordialement

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 199
    Par défaut
    passe par ado.net
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    passe par ado.net
    Pour cela il faudrait qu'il dispose d'un connecteur ADO.NET pour SAS.

    J'ignore si cela existe, surtout en gratuit; je ne suis pas sur du tout.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 199
    Par défaut
    je connais pas les serveur sas, mais google a l'air de dire qu'on peut les attaquer avec ado.net
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Par défaut
    bonjour

    merci pour votre réponse,

    c'est une table de 30 000 lignes

    j'ai fait des teste et j'ai conclu que :

    ce qui empire le temps de réponse, c'est surtout l'utilisation du format

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adoCommand.Properties["SAS Formats"].Value = "_ALL_";
    du coup j'ai opté à traiter la table coté serveur SAS avant de la charger (sas les format )

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] temps de réponse 6 sec pour RECORDSET EXCEL
    Par poutche dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/09/2011, 17h29
  2. temps de réponse ADODB.Recordset
    Par thawat dans le forum Administration et Installation
    Réponses: 0
    Dernier message: 20/07/2010, 15h19
  3. Ressources, temps de réponse, requète ...
    Par _____M_____ dans le forum Administration
    Réponses: 16
    Dernier message: 31/03/2004, 16h12
  4. Temps de réponse : objet TTable (BDE)
    Par lirva dans le forum Bases de données
    Réponses: 5
    Dernier message: 12/12/2003, 00h50
  5. Temps de réponse entre deux sites
    Par coup dur dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 16/10/2003, 15h26

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