Hi Denny
Thanks for the reply. I found the message you were
referring to here
I did some searching and read a couple of other threads
including this one.
It does not appear that there is a way to respond to it
on line and since I'm a newbie here I don't have it in my own archive so I'll
respond to it here until someone educates me if there is a better
way.
On June 2, 2006 Dan Wilson said>
The
case issue, as mentioned before, is misleading because CFquery is not case
sensitive. Using Reactor on Oracle is. While this is an easily avoidable
mistake, it does cause a silly error which is somewhat annoying until
understood. If there is a good reason for case sensitivity, I'll
understand.
...
Regardless, the
case issue is simply minor point. We can work around it as it is basically a
training issue.
<
I have a number of things I'd like to discuss related
to using different case table/column names with Oracle.
What is the "training issue" that Dan refers to in the
message I quoted above? And what is the silly error he was referring to. Is
there a thread that I missed where these things are
discussed?
A little background may be useful here. You can skip
this paragraph if you want. I went to CFUnited this year for the first time and
was introduced to many things new including Model Glue. When I got back home I
started playing with it. (In case you don't know it is a framework that
integrates Coldspring, Reactor, and Joe Rinehart's scaffolding). I had been
working on a code generator project of my own and Scaffolding etc. turned out to
be everything I had been trying to make that and more. I did my initial
experimenting in MSSQL and everything went great. My boss agreed to a test
project on an internal application. At that point I started working with an
Oracle Database and ran into a few issues.
The issues I'm working on with Model Glue Unity
Scaffolding with Oracle are all believed to be Reactor related. Scaffolding
writes your form, detail, and list pages for you dynamically based on your
database. Until you are ready to finalize these pages you can literally add a
column or change a column and simply refresh your browser to see the change on
the page.
Issues:
1) Because of the issue quoted below Scaffolding
will only work if you force the table to all lower case using
quotes.
2) With an MSSQL table a column named MyColumnName will
show up on the form, detail, and list pages as My Column Name with spaces in the
appropriate pages. By default Oracle wants MYCOLUMNNAME OR MY_COLUMN_NAME either
of which will make the display and the code behind the page not as
clean.
3) Not a case issue but in MSSQL the columns are
ordered in the views based on the way they appear in the table. In Oracle they
appear in alphabetical order which is obviously not ideal.
I have spent quite a bit of time this past week trying
to get these resolved. I'm actually supposed to be packing to move to a new
house next week but here I am. :-)
While I have learned it is possible to create mixed
case objects in Oracle (MyTableName, MyColumnName). I'm not clear if that is a
good idea or not, yet. Even if it is there seems to be some problems with
Reactor handling this.
Now that I've raised some other case sensitivity issues
I'd appreciate some discussion on that. Are there good reasons not to use forced
MixedCaseNames in Oracle?
Thanks a lot. I'm really excited about these new tools
I've discovered.
Bryan
Hi Bryan (& Hi Reactor@),
I could swear that I
saw this in the archives, someone talking about adding an option for
"uppercase".
Did you search the archives and see if someone had figured
out how to do this?
Here's one thread I saw:
http://www.mail-archive.com/[email protected]/msg01488.html
HIH!
:Denny
On 8/11/06, Bryan S
<[EMAIL PROTECTED]>
wrote:
O.K. I've been beating
myself up on this and I've reached a brick wall. I'm looking for ideas.
The basic problem is
that Model Glue Unity scaffolding doesn't work on an UPPER_CASE_TABLE_NAME
in Oracle or a MixedCaseTableName for that matter.
The suspect is Reactor.
I've been tracing my way through the code and here's where I am
stuck.
In
ModelGlue/unity/orm/ReactorAdapter.cfc
getObjectMetadata() there is a <cfset rmd
= getReactor().createMetadata(arguments.table) /> which calls
reactor/reactorFactory.cfc createMetadata().
The table I'm trying to
scaffold is "MYNEWTABLENAME". As part of the request it runs through the
function 12 times. On the twelfth time through arguments.table leaves
createMetadata() as "MYNEWTABLENAME" and is received by createMetadata as
objectAlias with a value of "mynewtablename". Somehow it is getting
transferred from UPPER CASE to lower case and there doesn't appear to be
anything between the two.
It has taken me many hours to trace through the code to get to this
point. I'd really appreciate if someone could give me some kind of a hint as
to what I could try or what the problem is. Thanks.
I have determined what I've told you above by doing this
<cfif Compare(arguments.objectAlias, 'mynewtablename') EQ
0>
<cfdump var="#session.counter#"
label="session.counter">
<cfoutput><br><br>reactorFactory.cfc
createMetadata</cfoutput><cfdump var="#arguments.objectAlias#"
label="arguments.objectAlias">
<cfset session.counter =
0>
<cfabort>
</cfif> .
-- -- -- --
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
Reactor for ColdFusion Mailing List
[email protected]Archives at:
http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- --
-- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Reactor for ColdFusion
Mailing List
[email protected]
Archives at:
http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- --
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Reactor for ColdFusion Mailing List
[email protected]Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --