I'm trying both the MS driver and JTDS. The MS driver returns even less
metadata than JTDS. Shoot. I guess I'll just have to write descriptors for
everything.

-Jason
 
> -----Original Message-----
> From: Amita Vadhavkar [mailto:[EMAIL PROTECTED]
> Sent: Thursday, November 01, 2007 8:39 PM
> To: [email protected]
> Subject: Re: DAS configuration must specify ResultDescriptors
> 
> It will mostly be limitation of the driver - which one are you using? See
> some below
> links to get the driver from microsoft and the library details the use of
> result set metadata.
> 
> *
> http://www.microsoft.com/downloads/details.aspx?FamilyID=D09C1D60-A13C-
> 4479-9B91-9E8B9D835CDC&displaylang=en-
> download site
> 
> *http://msdn2.microsoft.com/hi-in/sql/Aa336346.aspx - SP2
> 
> *http://msdn2.microsoft.com/en-us/library/ms378760.aspx - driver class
> supporting all
> reqd methods
> 
> Regards,
> Amita
> 
> On 11/2/07, Jason Clark <[EMAIL PROTECTED]> wrote:
> >
> > I updated my test to output all the information from the methods you
> > listed
> > below that required support.
> >
> > For my PK column, a simple id ID, it did not list information for the
> > Column
> > Table Name or the schema name. For all other columns, only the Schema
> name
> > was not listed.
> >
> > Is this information I can correct in the database, or is it inherent to
> > the
> > database the JDBC driver is simply not supporting it?
> >
> > -Jason
> >
> > This e-mail and any files transmitted with it are intended solely for
> the
> > use of the individual or entity to whom they are addressed.  If you have
> > received this e-mail in error please notify the sender immediately and
> > delete this e-mail from you system.  This message may contain company
> > proprietary, sensitive information and is intended only for the
> individual
> > named.  Its contents may be covered under the Trade Secret Act of
> various
> > jurisdictions.  If you are not the named addressee you should not
> > disseminate, distribute or copy this e-mail. If you are not the intended
> > recipient you are notified that disclosing, copying, distributing or
> > taking
> > any action in reliance on the contents of this information is strictly
> > prohibited.
> >
> > > -----Original Message-----
> > > From: Amita Vadhavkar [mailto:[EMAIL PROTECTED]
> > > Sent: Wednesday, October 31, 2007 8:34 PM
> > > To: [email protected]
> > > Subject: Re: DAS configuration must specify ResultDescriptors
> > >
> > > TUSCANY-1465 is the JIRA which added index to the <ResultDescriptor>
> > > With that the physical order can be anything for <ResultDescriptor>
> > > as long as index is used properly. This JIRA helps in specifying
> > > result descriptor programmatically (i.e. not thru config file).
> > > See DynamicResultDescriptorTests.java and
> > > http://incubator.apache.org/tuscany/explicit-resultset-shape-
> > > definition.html
> > > .
> > > This feature is part of latest DAS release - beta2.
> > >
> > > Prior to this fix, there was no index and as you say order is what
> > matters
> > > and not name in <ResultDescriptor.>
> > >
> > > As there is a column named ID in table CONTACTs, DAS following
> > > conventions uses it as PK, now if it is really not unique in the
> > database,
> > > it can cause problems in DB->DataObject xfer. e.g. if you have 2 rows
> > > having ID=1, and do select * from contact, then, the data graph
> obtained
> > > by DAS will not be able to show both rows in its data objects.
> > >
> > > For using SQL Server 2005 express edition provided db metadata -
> > > came across this url -
> > > http://forum.java.sun.com/thread.jspa?threadID=704004&tstart=150
> > >
> > > So looks like there are some problems in the support when it comes to
> > > supporting resultsetmetadata.
> > > What needs to be working is
> > > - getTableName(idx), getSchemaName(idx), getColumnCount(),
> > > getColumnType(idx),
> > > getColumnName(idx). If all these are working, then DAS will be able to
> > use
> > > the db metadata and will not need extra specification of
> > ResultDescriptor
> > > in
> > > config file.  So, you can check if some driver for SQL Server is
> > > supporting
> > > all
> > > these APIs and if you can use it. In that case, the <ResultDecriptor>
> > can
> > > go
> > > away.
> > >
> > > Please let me know if this helps.
> > >
> > > Regards,
> > > Amita
> > >
> > > On 11/1/07, Jason Clark <[EMAIL PROTECTED]> wrote:
> > > >
> > > > As a follow up, I wrote a simple class to test this.
> > > >
> > > > Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
> > > > String conUrl = "jdbc:sqlserver://****************"
> > > > Connection con = DriverManager.getConnection (conUrl);
> > > >
> > > > try {
> > > >         Statement st = con.createStatement();
> > > >         ResultSet rs = st.executeQuery("SELECT * FROM CONTACTS");
> > > >         ResultSetMetaData md = rs.getMetaData();
> > > >         int col = md.getColumnCount();
> > > >         System.out.println("Number of Column : " + col);
> > > >         System.out.println("Columns Name: ");
> > > >         for (int i = 1; i <= col; i++) {
> > > >                 String col_name = md.getColumnName(i);
> > > >                 System.out.println(col_name);
> > > >         }
> > > > }
> > > >
> > > > This successfully returned metadata about my table.
> > > >
> > > > If I do this...
> > > >
> > > > <Command name="all contacts" SQL="select * from CONTACTS"
> > kind="Select">
> > > >
> > > > <ResultDescriptor columnName="ID" tableName="CONTACTS"
> > > > columnType="commonj.sdo.Int"/>
> > > >
> > > > <ResultDescriptor columnName="FIRST_NAME" tableName="CONTACTS"
> > > > columnType="commonj.sdo.String"/>
> > > >
> > > > <ResultDescriptor columnName="LAST_NAME" tableName="CONTACTS"
> > > > columnType="commonj.sdo.String"/>
> > > >
> > > > <ResultDescriptor columnName="MIDDLE_NAME" tableName="CONTACTS"
> > > > columnType="commonj.sdo.String"/>
> > > >
> > > > </Command>
> > > >
> > > > I can then grab those columns, but I did notice the order is
> important
> > > and
> > > > the column name has nothing to do with the actual column name, it
> just
> > > > says
> > > > that the name you query the data object with is the word FIRST_NAME.
> > It
> > > > could be monkey, it doesn't matter. Not a problem though, but I
> can't
> > > > figure
> > > > out why I need result descriptors if I ResultSet.getMetaData () in
> > fact
> > > > returns the correct information.
> > > >
> > > > Any ideas?
> > > >
> > > > Thanks.
> > > >
> > > > -Jason
> > > >
> > > > > -----Original Message-----
> > > > > From: Luciano Resende [mailto:[EMAIL PROTECTED] ]
> > > > > Sent: Tuesday, October 30, 2007 6:39 PM
> > > > > To: [email protected]
> > > > > Subject: Re: DAS configuration must specify ResultDescriptors
> > > > >
> > > > > There are some databases that does not return metadata
> information,
> > > > > and DAS need that to build the result SDO Graph.More info on
> > > > > ResultDescriptor here [1].
> > > > >
> > > > > What database are you using ?
> > > > >
> > > > > [1] http://incubator.apache.org/tuscany/explicit-resultset-shape-
> > > > > definition.html
> > > > >
> > > > > On 10/30/07, Jason Clark < [EMAIL PROTECTED]> wrote:
> > > > > > I'm getting the following exception when trying to implement
> > simple
> > > > DAS
> > > > > CRUD
> > > > > > operations.
> > > > > >
> > > > > > Exception in thread "main" java.lang.RuntimeException: Unable to
> > > > obtain
> > > > > > table information from JDBC. DAS configuration must specify
> > > > > > ResultDescriptors
> > > > > >         at
> > > > > >
> > > > >
> > > org.apache.tuscany.das.rdb.graphbuilder.impl.ResultMetadata
> > .<init>(ResultM
> > > > > et
> > > > > > adata.java:81)
> > > > > >         at
> > > > > >
> > > > > org.apache.tuscany.das.rdb.graphbuilder.impl.GraphBuilderMetadata
> > > > .<init>(G
> > > > > ra
> > > > > > phBuilderMetadata.java :69)
> > > > > >         at
> > > > > >
> > > > > org.apache.tuscany.das.rdb.impl.ReadCommandImpl.buildGraph
> > > > (ReadCommandImpl
> > > > > .j
> > > > > > ava:295)
> > > > > >         at
> > > > > >
> > > > >
> > > org.apache.tuscany.das.rdb.impl.ReadCommandImpl.executeQuery
> > (ReadCommandIm
> > > > > pl
> > > > > > .java:277)
> > > > > >         at ContactDASTest.getContacts(ContactDASTest.java:22)
> > > > > >         at ContactDASTest.printContacts(ContactDASTest.java:28)
> > > > > >         at ContactDASTest.main(ContactDASTest.java:41)
> > > > > >
> > > > > >
> > > > > >
> > > > > > Given the following config. I tried following the Company
> example
> > > and
> > > > > their
> > > > > > config.
> > > > > >
> > > > > > I'm unsure what a ResultDescriptor is and why I would need one,
> > but
> > > > the
> > > > > > Company example does not.
> > > > > >
> > > > > > As a side note, my table is all strings stored in nvarchar
> > columns.
> > > Is
> > > > > that
> > > > > > part of the issue?
> > > > > >
> > > > > > It also does not have a primary key at the moment, but I'm not
> > sure
> > > > why
> > > > > that
> > > > > > would be a problem.
> > > > > >
> > > > > >
> > > > > > <Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd";>
> > > > > >
> > > > > >     <!--ConnectionInfo dataSource="java:comp/env/jdbc/dastest"/-
> ->
> > > > > >
> > > > > >         <ConnectionInfo>
> > > > > >                 <ConnectionProperties
> > > > > >
> > > > > > driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
> > > > > >
> > > > databaseURL="jdbc:sqlserver://*;databasename=*"
> > > > > >                         userName="*"
> > > > > >                         password="*"
> > > > > >                         loginTimeout="600"/>
> > > > > >         </ConnectionInfo>
> > > > > >
> > > > > >         <Command name="all contacts" SQL="select * from
> CONTACTS"
> > > > > > kind="Select"/>
> > > > > >
> > > > > >     <Table tableName="CONTACTS">
> > > > > >
> > > > > >         </Table>
> > > > > >
> > > > > > </Config>
> > > > > >
> > > > > >
> > > > > > -Jason Clark
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > --------------------------------------------------------------------
> > > -
> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Luciano Resende
> > > > > Apache Tuscany Committer
> > > > > http://people.apache.org/~lresende
> > > > <http://people.apache.org/%7Elresende>
> > > > > http://lresende.blogspot.com/
> > > > >
> > > > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --------------------------------------------------------------------
> -
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> >
> >
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to