Re: Stumped on "Attempt to insert null object...." when connecting to DB

Chuck Hill <[email protected]> Fri, 20 Mar 2009 16:27:59 -0700
Newsgroups gmane.comp.web.webobjects.devel
Message-ID <[email protected]>
On Mar 20, 2009, at 4:17 PM, Lon Varscsak wrote:

> I dug up the docs on what you were talking about and I set it all  
> and I still get an exception (although it is using the SybasePlugIn  
> now):
>
> Mar 20 16:16:01 DataBuilder[2500] WARN   
> er.extensions.eof.ERXModelGroup  - Clearing previous class  
> descriptions
> Mar 20 16:16:04 DataBuilder[2500] DEBUG NSLog  - Using JDBCPlugIn  
> 'com.webobjects.jdbcadaptor.SybasePlugIn' for ERXJDBCAdaptor@10651400
> java.lang.IllegalArgumentException: Attempt to insert null object  
> into an com.webobjects.foundation.NSMutableDictionary.
> 	at  
> com 
> .webobjects 
> .foundation 
> .NSMutableDictionary.setObjectForKey(NSMutableDictionary.java:68)
> 	at com.webobjects.jdbcadaptor.JDBCContext.connect(JDBCContext.java: 
> 230)
> 	at er.extensions.jdbc.ERXJDBCAdaptor 
> $Context.connect(ERXJDBCAdaptor.java:248)
> 	at  
> com.webobjects.jdbcadaptor.JDBCContext._tryConnect(JDBCContext.java: 
> 362)
> 	at  
> com 
> .webobjects 
> .jdbcadaptor.JDBCContext._channelWillOpen(JDBCContext.java:505)
> 	at  
> com.webobjects.jdbcadaptor.JDBCChannel.openChannel(JDBCChannel.java: 
> 111)
> 	at  
> com 
> .webobjects 
> .eoaccess.EODatabaseChannel._openChannel(EODatabaseChannel.java:713)
> 	at  
> com 
> .webobjects 
> .eoaccess.EODatabaseContext.availableChannel(EODatabaseContext.java: 
> 1324)
>

Before your first database access (but after Wonder has done it's  
thing), get EOModelGroup.defaultModelGroup().models() and iterate over  
it printing out the model name and connection dictionary.  The answer  
is in there somewhere.


Chuck


>
>
> On Fri, Mar 20, 2009 at 3:46 PM, Lon Varscsak <[email protected] 
> > wrote:
> URL:  jdbc:sybase:Tds:<server>:<port>
>
> Hmm...well, I'm not doing anything specific to make that work (or  
> not work)...but my Postgres projects seem okay with the same  
> configuration.
>
> -Lon
>
>
> On Fri, Mar 20, 2009 at 3:37 PM, Chuck Hill <chill@global- 
> village.net> wrote:
>
> On Mar 20, 2009, at 3:27 PM, Lon Varscsak wrote:
>
> lol, Chuck...you should get that cough looked at....although I did  
> like what came out. :)
>
> I'm still missing something...hopefully you still have some  
> informational-phlegm left.
>
> I specified com.webobjects.jdbcadaptor.SybasePlugIn in the model,  
> but I still see this in the log:
>
> Mar 20 15:20:55 DataBuilder[2500] DEBUG NSLog  - Using JDBCPlugIn  
> 'com.webobjects.jdbcadaptor.JDBCPlugIn' for ERXJDBCAdaptor@2610469
>
> and I still get my error.
>
> How are you specifying it?  What is the URL?  Are you using Wonder  
> to set the connection dictionary into all of the models?   I am  
> guessing that you don't have this configured, but I could be wrong.
>
>
> Chuck
>
>
>
>
> On Fri, Mar 20, 2009 at 3:20 PM, Chuck Hill <chill@global- 
> village.net> wrote:
>
> On Mar 20, 2009, at 3:14 PM, Lon Varscsak wrote:
>
> I have a new project I'm working on that connects to Sybase (I've  
> been working with Postgres lately...and haven't done a sybase wo  
> project in years).  I created a new model, I can connect to the  
> database through Entity Modeler in Eclipse just fine.  Whenever I  
> ask for an "availableChannel" on the EODatabaseContext I get this  
> exception:
>
> Mar 20 15:07:02 DataBuilder[2500] WARN   
> er.extensions.eof.ERXModelGroup  - The EOModel 'erprototypes' has an  
> empty connection dictionary.
> java.lang.IllegalArgumentException: Attempt to insert null object  
> into an com.webobjects.foundation.NSMutableDictionary.
>       at  
> com 
> .webobjects 
> .foundation 
> .NSMutableDictionary.setObjectForKey(NSMutableDictionary.java:68)
>       at  
> com.webobjects.jdbcadaptor.JDBCContext.connect(JDBCContext.java:230)
>       at er.extensions.jdbc.ERXJDBCAdaptor 
> $Context.connect(ERXJDBCAdaptor.java:248)
>       at  
> com.webobjects.jdbcadaptor.JDBCContext._tryConnect(JDBCContext.java: 
> 362)
>       at  
> com 
> .webobjects 
> .jdbcadaptor.JDBCContext._channelWillOpen(JDBCContext.java:505)
>       at  
> com.webobjects.jdbcadaptor.JDBCChannel.openChannel(JDBCChannel.java: 
> 111)
>       at  
> com 
> .webobjects 
> .eoaccess.EODatabaseChannel._openChannel(EODatabaseChannel.java:713)
>       at  
> com 
> .webobjects 
> .eoaccess.EODatabaseContext.availableChannel(EODatabaseContext.java: 
> 1324)
>       at  
> com 
> .smarthealth 
> .database.util.SPEOUtilities._connection(SPEOUtilities.java:38)
>
> I have no idea what I'm doing wrong here...I'm sure I'm missing  
> something obvious, although I can do the same thing with a Postgres  
> project and not get the error.  Of note, I don't think a plugin for  
> sybase exists, so I'm just using the JDBCPlugin.
>
> <cough>
> http://developer.apple.com/documentation/MacOSXServer/Reference/WO54_Reference/com/webobjects/jdbcadaptor/SybasePlugIn.html
> <cough>
>
>
>
> Any thoughts would be appreciated.
>
> Thanks,
>
> Lon
>
> P.S. -- Using WO 5.4.3 with Wonder nightly from a couple of weeks ago.
> _______________________________________________
> WebObjects-dev mailing list
> [email protected]
> http://www.omnigroup.com/mailman/listinfo/webobjects-dev
>
> -- 
> Chuck Hill             Senior Consultant / VP Development
>
> Practical WebObjects - for developers who want to increase their  
> overall knowledge of WebObjects or who are trying to solve specific  
> problems.
> http://www.global-village.net/products/practical_webobjects
>
>
>
>
>
>
>
>
> -- 
> Chuck Hill             Senior Consultant / VP Development
>
> Practical WebObjects - for developers who want to increase their  
> overall knowledge of WebObjects or who are trying to solve specific  
> problems.
> http://www.global-village.net/products/practical_webobjects
>
>
>
>
>
>
>
>

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their  
overall knowledge of WebObjects or who are trying to solve specific  
problems.
http://www.global-village.net/products/practical_webobjects