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

ASP Discussion :

passer d'une application sous Acces à Oracle


Sujet :

ASP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 161
    Points : 77
    Points
    77
    Par défaut passer d'une application sous Acces à Oracle
    Bonjour,
    j'ai telecharger une application .NET/C# qui fonctionne avec Acces.

    J'ai creer ma base de données Oracle. La connexion s'effectue mais ensuite cela m'envoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Exception Details: System.Data.OleDb.OleDbException: ORA-00936: Expression absente
    
    Source Error: 
    
    
    Line 349: OleDbDataAdapter command = new OleDbDataAdapter(Bugs_sSQL, Utility.Connection);
    Line 350:	DataSet ds = new DataSet();
    Line 351:
    Line 352:	command.Fill(ds, (i_Bugs_curpage - 1) * Bugs_PAGENUM, Bugs_PAGENUM,"Bugs");
    Line 353:	OleDbCommand ccommand = new OleDbCommand(Bugs_sCountSQL, Utility.Connection);
    Line 354:	int PageTemp=(int)ccommand.ExecuteScalar();
    J'ai essayer de changer Bugs_PAGENUM par 1 directement et j'ai la même erreur. J'ai essayer de changer le nom de la colonne "Bugs" par un nom qui n'existait pas et ca me renvoi la même erreur.
    Je me demande donc si l'erreur ne provient pas en fait de l'initialisation de la variable command à la ligne 349 ?
    Dans ce cas la ca viendrait peu être de la requête Bugs_sSQL :

    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
    Bugs_sSQL = "select [b].[assigned_to] as b_assigned_to, " +
        "[b].[bug_id] as b_bug_id, " +
        "[b].[bug_name] as b_bug_name, " +
        "[b].[priority_id] as b_priority_id, " +
        "[b].[project_id] as b_project_id, " +
        "[b].[status_id] as b_status_id, " +
        "[p].[project_id] as p_project_id, " +
        "[p].[project_name] as p_project_name, " +
        "[p1].[priority_id] as p1_priority_id, " +
        "[p1].[priority_desc] as p1_priority_desc, " +
        "[e].[employee_id] as e_employee_id, " +
        "[e].[employee_name] as e_employee_name, " +
        "[s].[status_id] as s_status_id, " +
        "[s].[status] as s_status " +
        " from [bugs] b, [projects] p, [priorities] p1, [employees] e, [statuses] s" +
        " where [p].[project_id]=b.[project_id] and [p1].[priority_id]=b.[priority_id] and [e].[employee_id]=b.[assigned_to] and [s].[status_id]=b.[status_id]  ";
     
    Bugs_sSQL = Bugs_sSQL + sWhere + sOrder;
    	  if (Bugs_sCountSQL.Length== 0) {
    	    int iTmpI = Bugs_sSQL.ToLower().IndexOf("select ");
    	    int iTmpJ = Bugs_sSQL.ToLower().LastIndexOf(" from ")-1;
    	    Bugs_sCountSQL = Bugs_sSQL.Replace(Bugs_sSQL.Substring(iTmpI + 7, iTmpJ-6), " count(*) ");
    	    iTmpI = Bugs_sCountSQL.ToLower().IndexOf(" order by");
    	    if (iTmpI > 1) Bugs_sCountSQL = Bugs_sCountSQL.Substring(0, iTmpI);
    	  }
    Si la requête n'est pas bonne l'erreur ne se serait-elle pas produit à l'initialisation. J'essaye surtout de rechercher la source de l'erreur, si quelqu'un à une idée il est le bienvenue.
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    C'est bon j'ai trouver, cela venez bien de la requête, il faut enlever tout les crochets.
    Cependant j'ai une autre erreur maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exception Details: System.InvalidCastException: Specified cast is not valid.
    
    OleDbCommand ccommand = new OleDbCommand(Bugs_sCountSQL, Utility.Connection);
    int PageTemp=(int)ccommand.ExecuteScalar();
    Pourtant avec acces ca marchait bien la conversion !! la requete est bonne c'est un count qui renvoi 6, je lest tester directement sur oracle

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    Le bug venait du fait que Oracle renvoi un Decimal et non pas un int contrairement à Acces.

    Voila je le donne pour info pour les quelques personnes qui lisent ce post.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/06/2012, 19h12
  2. Problème d'accès à distance pour une application sous JBoss
    Par El Saigneur dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 05/06/2010, 17h22
  3. installer une application sous oracle sur un réseau
    Par soufien_ben_hassen dans le forum Oracle
    Réponses: 2
    Dernier message: 22/04/2010, 12h44
  4. deployer une application sous oracle
    Par nessing dans le forum Oracle
    Réponses: 1
    Dernier message: 21/07/2007, 10h13
  5. Faire un raccoucis vers une application sous wine
    Par zamanika dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 01/10/2004, 14h10

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