From: Quinten V. <q.v...@ri...> - 2005-08-01 16:20:04
|
Found the reason after I listed the table names of the dataset created = by the connection (sorry I didn't think of that sooner). It seems I = confused the terms catalog and scheme, so that means I'll have to use a = separate connection for each catalog. =20 Sorry. =20 -----Original Message----- From: Quinten Verheyen=20 Sent: 01 August 2005 11:32 To: dbu...@li... Subject: RE: [dbunit-user] using scheme names in xml dataset Well, thx for the answer but it can't be that, the setting of the = qualified table names feature happens, but it just doesn't seem to help = me. =20 The docs say the following about this feature : "Enable or disable = multiple schemas support. If enabled, Dbunit access tables with names = fully qualified by schema using this format: SCHEMA.TABLE". =20 Yet, I keep getting this exception : =20 org.dbunit.dataset.NoSuchTableException: MyScheme.MyTable at = org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java= :192) at = org.dbunit.operation.AbstractOperation.getOperationMetaData(AbstractOpera= tion.java:59) at = org.dbunit.operation.AbstractBatchOperation.execute(AbstractBatchOperatio= n.java:129) at = org.dbunit.DatabaseTestCase.executeOperation(DatabaseTestCase.java:87) at org.dbunit.DatabaseTestCase.setUp(DatabaseTestCase.java:104) =20 To show how I set things up : =20 protected DatabaseOperation getSetUpOperation() throws Exception { // fetching DAO return DatabaseOperation.INSERT; } =20 protected DatabaseOperation getTearDownOperation() throws Exception { return DatabaseOperation.DELETE; } =20 protected IDatabaseConnection getConnection() throws Exception { // fecthing java.sql.Connection from DAO IDatabaseConnection dbConnection =3D new = DatabaseConnection(connection); = dbConnection.getConfig().setFeature(DatabaseConfig.FEATURE_QUALIFIED_TABL= E_NAMES, true); return dbConnection; } =20 protected IDataSet getDataSet() throws Exception { =20 System.out.println( = getConnection().getConfig().getFeature(DatabaseConfig.FEATURE_QUALIFIED_T= ABLE_NAMES) ); // prints out "true" // make File object from flat dataset xml return expectedDataSet =3D new FlatXmlDataSet( myFile ); } =20 Maybe it isn't the idea to use multiple schemes in flat xml datasets ? = (but only for retreiving data for example). Would surprise me, config = happens on the same connection instance, so it'll probably be something = else. =20 Any idea's ? =20 Regards, Quinten -----Original Message----- From: Shane Mingins [mailto:dbu...@li...]On = Behalf Of Shane Mingins Sent: 30 July 2005 02:45 To: dbu...@li... Subject: RE: [dbunit-user] using scheme names in xml dataset How are you setting the qualified table names on the config? I was = recently doing this and starting setting the 'property' which did not = work and found I had to set the 'feature' =20 connection.getConfig().setFeature(" = http://www.dbunit.org/features/qualifiedTableNames", Boolean.TRUE); =20 HTH Shane _____ =20 From: dbu...@li... on behalf of Quinten = Verheyen Sent: Fri 29/07/2005 10:49 p.m. To: dbu...@li... Subject: [dbunit-user] using scheme names in xml dataset Hi, =20 I'm trying to insert test-data on different (non-equal) schemes with 1 = FlatXmlDataSet : =20 <dataset> <scheme1.table1 ... /> <scheme2.table2 ... /> </dataset> =20 Using that in combination with activating qualified table names on the = DatabaseConfig class (and the connection used does not specify a = specific scheme) results in a org.dbunit.dataset.NoSuchTableException. =20 Maybe because table1 does not exist on scheme2 ? How should I best = approach this ? I also wonder if setting the "escapePattern" property = could be an alternative, if so I'm confused about what I should specify. =20 Btw, database is SQL Server 2000 and I'm using jtds 1.0. =20 Hopefully someone can clear this up :-) Quinten Verheyen Software Engineer THE RING RING COMPANY Rue Gabrielle Petitstraat 4 1080 Bruxelles - Brussel=20 Tel: +32 (0)2 334 23 30 Fax: +32 (0)2 502 76 07 GSM: +32(0)494 81 04 81 <http://www.ringring.be/> www.ringring.be=20 DELIVERING INTERACTIVITY Since 1991 *** DISCLAIMER ****=20 "This e-mail and any attachment thereto may contain information which is = confidential and/or protected by intellectual property rights and are = intended for the sole use of the recipient(s) named above. This email is = not intended to create or affect any contractual arrangements between = the parties. Any use of the information contained herein (including, but = not limited to, total or partial reproduction, communication or = distribution in any form) by other persons than the designated = recipient(s) is prohibited.=20 If you have received this e-mail in error, please notify the sender = either by telephone or by e-mail and delete the material from any = computer".=20 Thank you for your cooperation.=20 =20 |