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: tuscany-user@ws.apache.org
> > 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: tuscany-user@ws.apache.org
> > > > 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]
>
>

Reply via email to