Ok ill tell you something about ODBC: (I hate it :)

Ok nuff said about that, but i can tell my experiences accessing Microsoft
SQL Server 6.5 through jdbc:odbc. I had the exact same problems as you have,
but i found a working workaround for that:

1) When you get data from the result set don't use column names names, use
column numbers ie: (1) instead of ("Name") when fetching the data.

2) Never get column 2 before column 1 (and so on) or you will get some
strange error? don't ask me why I just found the workaround :). So in other
words if you are to use four columns get them out in local variables before
you start doing stuff, to make sure that the right sequence in the datafetch
is done against the result set.

Have a nice summer holiday all.
Klaus Myrseth

-----Opprinnelig melding-----
Fra: Luis Arias [mailto:[EMAIL PROTECTED]]
Sendt: 24. juni 2000 10:05
Til: Orion-Interest
Emne: Re: Orion 1.0 : Problem With Access DB (Ultradev Tutorial)...


Hello !

As you suggested, I started looking at Dreamweaver Ultradev's generated
code:

Driver DriverrsReleaseSummaries =
(Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection ConnrsReleaseSummaries =
DriverManager.getConnection("jdbc:odbc:scaalcoffee","","");
PreparedStatement StatementrsReleaseSummaries =
ConnrsReleaseSummaries.prepareCall("SELECT * FROM Franchises");
//StatementrsReleaseSummaries.setQueryTimeout(0);
ResultSet rsReleaseSummaries = StatementrsReleaseSummaries.executeQuery();
boolean rsReleaseSummaries_isEmpty = !rsReleaseSummaries.next();
boolean rsReleaseSummaries_hasData = !rsReleaseSummaries_isEmpty;
int rsReleaseSummaries_numRows = 0;

I commented out the setQueryTimeout() call (since this is apparently not
supported by the access ODBC driver) and this took care of the error I
mentioned in my first message.  I am now having various problems with the
query itself.

If I leave "select * ..." then I end up with a column not found error:

24/06/00 09:47 defaultWebApp: Servlet error
java.sql.SQLException: Column not found
 at sun.jdbc.odbc.JdbcOdbcResultSet.findColumn(JdbcOdbcResultSet.java:1497)
 at sun.jdbc.odbc.JdbcOdbcResultSet.getObject(JdbcOdbcResultSet.java:1393)
 at
/ultradev/extranet_news_7c1wwneyb.jsp._jspService(/ultradev/extranet_news_7c
1wwneyb.jsp.java:77) (JSP page line 125)
 at com.evermind.server.http.EvermindHttpJspPage.service(JAX)
 at com.evermind.server.http.HttpApplication.tb(JAX)
 at com.evermind.server.http.JSPServlet.service(JAX)
 at com.evermind.server.http.df.o3(JAX)
 at com.evermind.server.http.df.forward(JAX)
 at com.evermind.server.http.dm.o9(JAX, Compiled Code)
 at com.evermind.server.http.dm.o8(JAX, Compiled Code)
 at com.evermind.util.e.run(JAX, Compiled Code)


If I modify it to "select PRTitle, PRDate, PRShort ..." then I get the
followin error where the Access ODBC driver is saying that there were not
enough parameters set in the statement (3 expected).

24/06/00 09:53 defaultWebApp: Servlet error
java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de
paramètres. 3 attendu.
 at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:4089)
 at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:4246)
 at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:1211)
 at
sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.ja
va:206)
 at
sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPreparedStateme
nt.java:105)
 at
/ultradev/extranet_news_fo9nwnf94.jsp._jspService(/ultradev/extranet_news_fo
9nwnf94.jsp.java:36) (JSP page line 7)
 at com.evermind.server.http.EvermindHttpJspPage.service(JAX)
 at com.evermind.server.http.HttpApplication.tb(JAX)
 at com.evermind.server.http.JSPServlet.service(JAX)
 at com.evermind.server.http.df.o3(JAX)
 at com.evermind.server.http.df.forward(JAX)
 at com.evermind.server.http.dm.o9(JAX, Compiled Code)
 at com.evermind.server.http.dm.o8(JAX, Compiled Code)
 at com.evermind.util.e.run(JAX, Compiled Code)


What are the requirements for the JAX layer as far as the database is
concerned ?  Do you need an "id" column in each table ?  The second error is
something strange with using the prepared statement ??

Maybe you can make some sense of this.  I would actually like to use some
other database like interbase but the product comes with this tutorial
database and I don't have the schema for it.

Thanks,

Luis.

----- Original Message -----
From: "Karl Avedal" <[EMAIL PROTECTED]>
To: "Luis Arias" <[EMAIL PROTECTED]>
Cc: "Orion-Interest" <[EMAIL PROTECTED]>
Sent: Friday, June 23, 2000 11:16 AM
Subject: Re: Orion 1.0 : Problem With Access DB (Ultradev Tutorial)...


> Hello Luis,
>
> My french isn't the best, but if I read that error message right it says
> "Optional function/feature not installed/implemented". This could
> possibly mean that the JDBC driver (or in this case ODBC driver) does
> not support something in the API.
>
> How does your line 7 (and the surrounding lines) in your
> /ultradev/extranet_news_b9shawe53j.jsp look?
>
> The stack dump does indicate a problem with setting the timeout, but
> find out to make sure exactly what you can't do. The solution depends on
> this.
>
> Regards,
> Karl Avedal
>
> Luis Arias wrote:
>
> >
> > Hi, I am getting the following error in orion 1.0 : 19/06/00 09:35
> > defaultWebApp: Servlet error
> > java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft
> > Access]Fonction optionnelle non installée
> >  at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:4089)
> >  at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:4246)
> >  at sun.jdbc.odbc.JdbcOdbc.SQLSetStmtOption(JdbcOdbc.java:3092)
> >  at
> >
sun.jdbc.odbc.JdbcOdbcStatement.setQueryTimeout(JdbcOdbcStatement.java:544)
> >
> >  at
> >
/ultradev/extranet_news_b9shawe53j.jsp._jspService(/ultradev/extranet_news_b
9shawe53j.jsp.java:35)
> > (JSP page line 7)
> >  at com.evermind.server.http.EvermindHttpJspPage.service(JAX)
> >  at com.evermind.server.http.HttpApplication.tb(JAX)
> >  at com.evermind.server.http.JSPServlet.service(JAX)
> >  at com.evermind.server.http.df.o3(JAX)
> >  at com.evermind.server.http.df.forward(JAX)
> >  at com.evermind.server.http.dm.o9(JAX)
> >  at com.evermind.server.http.dm.o8(JAX)
> >  at com.evermind.util.e.run(JAX) This occurs while using the
> > Dreamweaver Ultradev tutorial.  I believe the error has something to
> > do with the query timeout.  Is there any way of getting around this ?
> > A newer odbc driver ?  An orion parameter ?
>


Reply via email to