Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
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 29/05/2007, 12h15   #1
Membre du Club
 
Inscription : avril 2006
Messages : 159
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 159
Points : 43
Points : 43
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 :
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 :
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
hokidoki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 17h22   #2
Membre du Club
 
Inscription : avril 2006
Messages : 159
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 159
Points : 43
Points : 43
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 :
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
hokidoki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 10h26   #3
Membre du Club
 
Inscription : avril 2006
Messages : 159
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 159
Points : 43
Points : 43
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.
hokidoki est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h56.


 
 
 
 
Partenaires

Hébergement Web