Hi!
I had put this question already into the oooforum, but unfortunately got no response yet. Maybe someone of this mailing list can help. I've the following problem: I have written a program which automatically creates forms in a Writer Document. It is basically the same as the form example provided by OpenOffice.org SDK. It creates a Main-Form and a Sub-Form (the Sub-Form is implemented with grid-columns). The underlying database is a mysql database. When I create a connection manually via the Base GUI to this database and use this registered database in the form-program everything works perfectly. When I use an automatically created datasource (as the bottom code shows), which makes so far as a know exactly the same as the manually creation of the datasouce, the form-program creates the Writer Document without any errors. BUT when I open the created Writer Document a OpenOffice error pop up appears, which says: "The data content could not be loaded. Parameter index out of range (1 > number of parameters, which is 0)" This obviously only applies to the Sub-Form because the Main-form works and in the Sub-Form there are except for the column-headline-labels no columns in the grid. I don't think there is a mistake in the from-code because with the manually created registered database it works. Maybe someone can help me!! Greets Stefan Here the code for automatically creating and registering the datasource: Code: import com.sun.star.beans.PropertyValue; import com.sun.star.beans.XPropertySet; import com.sun.star.comp.helper.BootstrapException; import com.sun.star.frame.XModel; import com.sun.star.frame.XStorable; import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.sdb.XDocumentDataSource; import com.sun.star.sdb.XOfficeDatabaseDocument; import com.sun.star.uno.Exception; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XNamingService; import com.sun.star.util.XCloseable; public class d12_2_2_addingDatasource { public static void main(String[] args) { /********* create service factory ******************************/ //get the remote office component context com.sun.star.uno.XComponentContext xContext = null; com.sun.star.lang.XMultiComponentFactory xMCF = null; try { xContext = com.sun.star.comp.helper.Bootstrap.bootstrap(); System.out.println("Connected to a running office ..."); //get the Service Factory xMCF = xContext.getServiceManager(); } catch (BootstrapException e) { e.printStackTrace(); } /***************************************************************/ XSingleServiceFactory xFac= null; Object xDs = null; try { xFac = (XSingleServiceFactory)UnoRuntime.queryInterface( XSingleServiceFactory.class, xMCF.createInstanceWithContext("com.sun.star.sdb.DatabaseContext",xContext)) ; System.out.println("xFac:"+xFac); //instantiate an empty data source at the XSingleServiceFactory //interface of the DatabaseContext xDs = xFac.createInstance(); System.out.println("xDs:"+xDs); XDocumentDataSource xDocumentDataSource = (XDocumentDataSource) UnoRuntime.queryInterface(XDocumentDataSource.class, xDs); XOfficeDatabaseDocument xDatabaseDocument = xDocumentDataSource.getDatabaseDocument(); XStorable store = (XStorable) UnoRuntime.queryInterface( XStorable.class, xDatabaseDocument); XCloseable close = (XCloseable) UnoRuntime.queryInterface( XCloseable.class, xDatabaseDocument); XModel model = (XModel) UnoRuntime.queryInterface( XModel.class, xDatabaseDocument); //register it with the database context XNamingService xServ = (XNamingService)UnoRuntime.queryInterface(XNamingService.class, xFac); System.out.println("xServ:"+xServ); store.storeAsURL("file:///c:/odbfiles/mysqljava5.odb",model.getArgs()); xServ.registerObject("mysqljava5", xDs); //setting the necessary data source properties XPropertySet xDsProps = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xDs); //Adabas D URL xDsProps.setPropertyValue("URL", "jdbc:mysql://localhost:3306/test"); //force password dialog xDsProps.setPropertyValue("IsPasswordRequired", new Boolean(true)); //suggest dsadmin as user name PropertyValue[] props = new PropertyValue[] { new com.sun.star.beans.PropertyValue("JavaDriverClass", 0, "org.gjt.mm.mysql.Driver",com.sun.star.beans.PropertyState.DIRECT_VALUE)}; xDsProps.setPropertyValue("Info", props); xDsProps.setPropertyValue("User", "stefan"); store.store(); close.close(true); System.out.println("END"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }