2009-07-23 9 views
1

Je dois faire référence à une colonne appelée limite dans une base de données Oracle Oracle et utiliser également une base de données en mémoire SQLite pour le test unitaire. J'ai lu pour utiliser des guillemets dans les fichiers de mappage pour accomplir ceci; limit qui fonctionne bien dans SQLite, mais résout de "limiter" dans oracle et barfs sur la requête.Mots réservés dans NHibernate

Est-ce que cette fonctionnalité est implémentée correctement pour Oracle ou est-ce que quelque chose me manque?

Cheers,

Rob

MISE À JOUR

Il semble que la colonne n'a pas été créé avec des guillemets autour de lui, mais il reconnaît NHibernate comme réservé et met les citations autour de lui:/

Répondre

2

Dans Oracle, vous utilisez des guillemets pour référencer des objets avec des noms en tant que mots réservés:

SQL> create table a (number number); 

create table a (number number) 
       ^
ORA-00904: : invalid identifier 

"NUMBER" est un mot réservé. Cependant, vous pouvez:

SQL> create table a ("number" number); 

Table created 

SQL> select "number" from a; 

    number 
---------- 
+0

Merci pour la réponse, c'est exactement la façon dont il est résolu dans la requête. SELECT paiement « limite » comme limit7_8_0_ du paiement qui lance ORA-00904: « Limite »: invalide Identifiant:/ – theGecko

+0

Vous l'avez, voir mise à jour :) – theGecko

Questions connexes