Newer sybase's are case sensitive with regards to object names (i.e.
tables/cols/indexes).
Morgan Delagrange wrote:
> Good catch, I believe you are correct. I'll patch it up today.
>
> - Morgan
>
> On Thu, 19 Apr 2001, Dave Dribin wrote:
>
> > Hello,
> >
> > I was just playing around with the 04/19 version of the JDBC tag
> > library and trying to run the example pages. I am using Oracle as a
> > back-end database and using a JNDI named datasource under Resin 1.2.3.
> > I am getting the following exception while running the jndijdbc.jsp
> > page:
> >
> > javax.servlet.jsp.JspTagException: Could not find column named id
> > at
>org.apache.taglibs.jdbc.resultset.BaseGetterTag.getColumnNumber(BaseGetterTag.java:245)
> > at
>org.apache.taglibs.jdbc.resultset.BaseGetterTag.getPosition(BaseGetterTag.java:111)
> > at
>org.apache.taglibs.jdbc.resultset.GetNumberTag.doStartTag(GetNumberTag.java:149)
> >
> > I tracked down the problem to this line in the JSP:
> >
> > <td><sql:getNumber colName="id" format="CURRENCY" locale="en_GB"/></td>
> >
> > Now, it turns out that if I use all caps for the column name like "ID"
> > rather than "id" it works. I think this is due to the fact that I am
> > running Oracle and it is probably passing back the column names in all
> > caps regardless of how the table was created. However, colName should
> > probably be doing a case insensitive compare. I narrowed it down to
> > this bit of code in BaseGetterTag.java:
> >
> > 236 for (int i = 1; i <= cntColumn; i++) {
> > 237 if (strName.equals (meta.getColumnName (i))) {
> > 238 return i;
> > 239 }
> > 240 }
> >
> > Changing line 237 to use String.equalsIgnoreCase() should fix it. SQL
> > is not case sensitive, right?
> >
> > -Dave
> >