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

VB.NET Discussion :

ORA-01792: maximum number of columns in a table or view is 1000


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut ORA-01792: maximum number of columns in a table or view is 1000
    Bonjour,

    Débutant sur Visual Studio 2010 Professional - Programmant an Linq.

    Voici mon Query qui me pose probleme (ORA-01792):
    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
     
    Public Function Run(ByRef FilterValues As FilterValues) As System.Linq.IQueryable Implements IReportDataProvider.Run
     
     
    'create connection to the ams schema
    Dim AMS = Me.mfContext
     
    Dim d_B As DateTime = FilterValues.DateFrom
    Dim d_E As DateTime = FilterValues.DateTo
    Dim FOND As String = FilterValues.Fund
    Dim CLANG As String = FilterValues.ReportingLanguage
     
     
    Dim FundMasterPoolMerge As IQueryable(Of NEW_MASTERNPTF3_Definitions) = ReportQueries.FundMasterPoolMerge(FOND, AMS)
     
    'get the related query data
    'Group By SUM of the MSOLDE_EGA_100 AND EGAL_1_100
    Dim EGA_CPT2 = From AMS_EGA_CPT In AMS.EGA_CPT
    Join AMS_TCPT In AMS.TCPT_LNG On AMS_TCPT.NCOMPTE Equals AMS_EGA_CPT.NRUBR
    Join FUND_SELECTION In FundMasterPoolMerge On AMS_EGA_CPT.NPTF Equals FUND_SELECTION.NPTF
    Where AMS_EGA_CPT.DATE_NAV >= d_B And AMS_EGA_CPT.DATE_NAV <= d_E And AMS_EGA_CPT.NRUBR <> 999998 And AMS_EGA_CPT.CEGA = "LU" And AMS_TCPT.CLANGUE = CLANG
    Group By NPTF = AMS_EGA_CPT.NPTF, TPARTS = AMS_EGA_CPT.TPARTS, DATE_NAV = AMS_EGA_CPT.DATE_NAV, NRUBR = AMS_EGA_CPT.NRUBR, XLIBELLE = AMS_TCPT.XLIBELLE
    Into Group
    Select New With {
    .NPTF = NPTF,
    .TPARTS = TPARTS,
    .DATE_NAV = DATE_NAV,
    .NRUBR = NRUBR,
    .XLIBELLE = XLIBELLE,
    .MSOLDE_EGA_100 = Group.Sum(Function(x) x.AMS_EGA_CPT.MSOLDE_EGA_100),
    .EGAL_1_100 = Group.Sum(Function(x) x.AMS_EGA_CPT.EGAL_1_100)
    }
     
    Return EGA_CPT2
     
    End Function
    (voir ligne 19)

    Le probleme se pose lors du "Join FUND_SELECTION In FundMasterPoolMerge On AMS_EGA_CPT.NPTF Equals FUND_SELECTION.NPTF"

    En debug mode la fonction FundMasterPoolMerge ne me renvoie qu'une donnée ("75851" dans cette example).

    Ce query marche parfaiment bien si je ne mets pas la ligne suivante:
    Join FUND_SELECTION In FundMasterPoolMerge On AMS_EGA_CPT.NPTF Equals FUND_SELECTION.NPTF

    et que je rajoute au statement 'Where':
    "AMS_EGA_CPT.NPTF = FOND And "

    Le statement qui marche est a ce moment la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim EGA_CPT2 = From AMS_EGA_CPT In AMS.EGA_CPT
    Join AMS_TCPT In AMS.TCPT_LNG On AMS_TCPT.NCOMPTE Equals AMS_EGA_CPT.NRUBR
    Where AMS_EGA_CPT.NPTF = FOND And AMS_EGA_CPT.DATE_NAV >= d_B And AMS_EGA_CPT.DATE_NAV <= d_E And AMS_EGA_CPT.NRUBR <> 999998 And AMS_EGA_CPT.CEGA = "LU" And AMS_TCPT.CLANGUE = CLANG
    Group By NPTF = AMS_EGA_CPT.NPTF, TPARTS = AMS_EGA_CPT.TPARTS, DATE_NAV = AMS_EGA_CPT.DATE_NAV, NRUBR = AMS_EGA_CPT.NRUBR, XLIBELLE = AMS_TCPT.XLIBELLE
    Into Group
    (voir ligne 3)

    En fait si j'utilise le statement qui marche je ne peux qu'interroger qu'une seule valeure ("75851"). C'est pourquoi je souhaiterais utiliser la fonction "FundMasterPoolMerge" qui peu me renvoyer plusieurs valeurs ("75851";"75852";"75853";etc...)

    Comment faire pour utiliser la fonction "FundMasterPoolMerge" sans avoir ce message d'erreur?

    En esperant avoir été clair, sinon n'hésitaient pas à me poser des questions.

    Merci d'avance pour votre aide.
    Michel.

  2. #2
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    Bonjour,
    je pense que tu devrais regarder un peu au niveau du type de jonction que tu crées.

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai plusieurs autres query qui marchent sans probleme. Ici je ne comprend pas pourquoi j'aurais un probleme de relation avec le type...

    Tu n'aurais pas une autre piste?

    Merci à toi.

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Verifier la requête SQL reçue par le serveur; j'aurai commencé par là.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    En fait ma requête "FundMasterPoolMerge.NPTF" me donne une liste correcte (Dans cet example: FundMasterPoolMerge.NPTF = "75851").

    Donc je m'attendais a ce que ce statement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Join FUND_SELECTION In FundMasterPoolMerge On AMS_EGA_CPT.NPTF Equals FUND_SELECTION.NPTF
    fonctionne correctement.

    Le probleme vient peut-etre du fait que cette selection est faite par un autre query hors de ce module... Mais je ne sais pas pourquoi :o(

    Merci pour votre aide.

Discussions similaires

  1. [11g] ORA-00020: maximum number of processes (%s) exceeded
    Par mariachi dans le forum Administration
    Réponses: 2
    Dernier message: 28/04/2014, 14h11
  2. ORA-00018: maximum number of sessions exceeded
    Par fanah dans le forum Administration
    Réponses: 11
    Dernier message: 20/01/2011, 08h59
  3. ORA-02257: maximum number of columns exceeded
    Par khomar dans le forum SQL
    Réponses: 20
    Dernier message: 25/03/2010, 14h05
  4. ORA-02257: maximum number of columns exceeded
    Par khomar dans le forum SQL
    Réponses: 0
    Dernier message: 12/03/2010, 15h02
  5. Oracle ORA-00020 : maximum de processus
    Par Lisou dans le forum Administration
    Réponses: 5
    Dernier message: 22/03/2004, 16h27

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