SQL Power Business Intelligence Productivity Tools
Company OverviewBusiness Intelligence Productivity ToolsQuick-Start Implementation ServicesDemos & TurotialsFrequently Asked Questions (FAQ)Open Source Community ResourcesSQL Power ForumImplementation & Technology PartnersGet SQL Power SoftwareContact Us

SQL Power Software Forum

SQL Power Software Forum

  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page  [Register] Register /  [Login] Login 
InstantiationException when saving new project  XML
Forum Index » SQL Power DQguru Bugs
Author Message
Benjamin


Joined: 2006-09-08 17:47:35
Messages: 163
Offline

Hi,

I just downloaded the newest build of DQGuru. When creating a new project I get the following error:

"Error in trying to update result table when saving"

java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at ca.sqlpower.architect.ddl.DDLUtils.createDDLGenerator(DDLUtils.java:182)
at ca.sqlpower.matchmaker.swingui.MMSUtils.createResultTable(MMSUtils.java:226)
at ca.sqlpower.matchmaker.swingui.ProjectEditor.applyChanges(ProjectEditor.java:626)
at ca.sqlpower.matchmaker.swingui.ProjectEditor$4.actionPerformed(ProjectEditor.java:234)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

--------------------------------------
Get involved: http://goo.gl/lt6r
--------------------------------------
[WWW]
Benjamin


Joined: 2006-09-08 17:47:35
Messages: 163
Offline

It seems like this problem has something to do with the database driver I used...

--------------------------------------
Get involved: http://goo.gl/lt6r
--------------------------------------
[WWW]
Jonathan
SQL Power Developer

Joined: 2007-01-08 15:10:32
Messages: 873
Offline

Yes, it's apparently trying to create an instance of the "DDL Generator" class specified in your database type configuration.

Can you tell us what this is set to? The information should be under the "JDBC Drivers" panel, advanced tab. The field is called "DDL Generator."

If possible, it would be helpful to see the corresponding "[Database Types_#]" section for the database type in question from your pl.ini file.

-Jonathan
Benjamin


Joined: 2006-09-08 17:47:35
Messages: 163
Offline

I used the open source jdbc driver for SQL server (jTDS) and the default setting of the predefined SQL Server in DQGuru.
I also get the same kind of problem using the connection in Power*Architect when I'm trying to open a profile. the creation of the profile works but i can't open it.

I found a way around it using Microsofts offical JDBC 4 driver so I'm not sure if it's really worth looking into it. Here is the part of my ini file anyways:

[Database Types_5]
JDBC Driver Class=net.sourceforge.jtds.jdbc.Driver
JDBC JAR_0=C:\Program Files\SQLPower\Wabit\jdbc\jtds-1.2.4.jar
JDBC JAR Count=1
JDBC URL=jdbc:jtds:sqlserver://<server>:<port>;DatabaseName=<database>
Name=SQL Server
Supports Updatable Result Sets=true
DDL Generator=ca.sqlpower.architect.ddl.SQLServerDDLGenerator
ca.sqlpower.architect.etl.kettle.connectionType=MS SQL Server
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_0=bit,bit,-7,true,false,false,false,false,false,false,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_1=tinyint,INTEGER,-6,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_2=tinyint identity,INTEGER,-6,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_3=bigint,INTEGER,-5,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_4=bigint identity,INTEGER,-5,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_5=numeric,numeric,2,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_6=numeric(),numeric,2,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_7=decimal,decimal,2,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_8=decimal(),decimal,2,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_9=int,INTEGER,4,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_10=int identity,INTEGER,4,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_11=smallint,INTEGER,4,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_12=smallint identity,INTEGER,4,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_13=float,float,6,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_14=real,real,7,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_15=money,money,2,true,true,true,true,false,false,false,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_16=smallmoney,smallmoney,7,true,true,true,true,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_17=text,text,2005,false,false,false,false,false,false,false,false
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_18=ntext,ntext,2005,false,false,false,false,false,false,false,false
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_19=image,image,2004,false,false,false,false,false,false,false,false
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_20=datetime,datetime,93,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_21=smalldatetime,smalldatetime,93,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_22=varbinary,varbinary,-3,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_23=binary,binary,-2,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_24=char,char,1,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_25=nchar,nchar,1,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_26=varchar,varchar,12,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_27=nvarchar,nvarchar,12,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_28=sysname,sysname,12,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_29=timestamp,timestamp,2006,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_30=uniqueidentifier,uniqueidentifier,2006,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ProfileFunctionDescriptor_31=sql_variant,sql_variant,2006,true,true,true,false,true,true,true,true
ca.sqlpower.architect.profile.ColumnProfileResult$StringLengthSQLFunction=LEN(
ca.sqlpower.architect.profile.ColumnProfileResult$AverageSQLFunction=AVG(CONVERT(DECIMAL,)
ca.sqlpower.architect.profile.ColumnProfileResult$CaseWhenNullSQLFunction=CASE WHEN : IS NULL THEN : END
ca.sqlpower.sqlobject.SQLIndex.IndexType_0=HASH



--------------------------------------
Get involved: http://goo.gl/lt6r
--------------------------------------
[WWW]
Jonathan
SQL Power Developer

Joined: 2007-01-08 15:10:32
Messages: 873
Offline

The problem is the line

DDL Generator=ca.sqlpower.architect.ddl.SQLServerDDLGenerator

which points to the common base class for SQL Server DDL support. You'll need to choose either the SQL Server 2000 or 2005 DDL generators, which can be done from the Advanced tab of the JDBC drivers panel that I mentioned above.

It is a bug that the non-instantiable base class appears in the list, and I think that bug has already been filed in our bug tracker.

-Jonathan
Benjamin


Joined: 2006-09-08 17:47:35
Messages: 163
Offline

Thanks! That fixed the problem.
Maybe you want to think about shipping the open source of the SQL Server jdbc drivers with your products in the future. It is under LGPL.

--------------------------------------
Get involved: http://goo.gl/lt6r
--------------------------------------
[WWW]
 
Forum Index » SQL Power DQguru Bugs
Go to:   
Powered by JForum 2.1.8 © JForum Team