Re: Stumped on "Attempt to insert null object...." when connecting to DB
Lon Varscsak <[email protected]> Fri, 20 Mar 2009 17:44:52 -0700
| Newsgroups | gmane.comp.web.webobjects.devel |
|---|---|
| Message-ID | <[email protected]> |
I think you're onto something here. In my other project (that uses Postgres) the ERPrototypes model doesn't have any connection dictionary, but when I'm in this project it magically has one (and it's not magically delicious). Not sure why...but I'm not really using prototypes anyway, so I guess it's irrelevant. Thanks, Lon On Fri, Mar 20, 2009 at 5:34 PM, Lachlan Deck <[email protected]>wrote: > On 21/03/2009, at 11:00 AM, Lon Varscsak wrote: > > I've never done anything special with erprototypes, but it is in my other >> projects and not causing any issues. However, I did just remove it (the >> ERPrototypes framework) from my project and the error goes away! So you >> did >> solve the issue...I just don't get what's different...but I'm not sure >> that >> I care now. :) >> Thanks for your time, >> > > I was under the impression that erprototypes (and any prototypes for that > matter) shouldn't have a connection dict. > > Have you set this property? > er.extensions.ERXModelGroup.prototypeModelNames=foo,bar,erprototypes > > > > On Fri, Mar 20, 2009 at 4:49 PM, Chuck Hill <[email protected] >> >wrote: >> >> >>> On Mar 20, 2009, at 4:47 PM, Lon Varscsak wrote: >>> >>> It seems reasonable (I removed passwords and server/port): >>> >>>> >>>> Mar 20 16:45:40 DataBuilder[2500] INFO NSLog - erprototypes >>>> Mar 20 16:45:40 DataBuilder[2500] INFO NSLog - {driver = >>>> "com.sybase.jdbc3.jdbc.SybDriver"; password = "<password>"; plugin = >>>> "com.webobjects.jdbcadaptor.SybasePlugIn"; username = "varscsak"; } >>>> >>>> >>> Me, I see no URL in that. And it is complaining about there being no >>> URL. >>> Seems unlikely that is a co-inkydink. I don't use that part of Wonder so >>> you are alone in the wilderness. >>> >>> >>> Chuck >>> >>> >>> >>> >>> Mar 20 16:45:40 DataBuilder[2500] INFO NSLog - product >>> >>>> Mar 20 16:45:40 DataBuilder[2500] INFO NSLog - {plugin = >>>> "com.webobjects.jdbcadaptor.SybasePlugIn"; username = "varscsak"; driver >>>> = >>>> "com.sybase.jdbc3.jdbc.SybDriver"; password = "<password>"; URL = >>>> "jdbc:sybase:Tds:<servername>:<port>"; } >>>> >>>> -Lon >>>> >>>> On Fri, Mar 20, 2009 at 4:27 PM, Chuck Hill <[email protected]> >>>> wrote: >>>> >>>> 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 <[email protected]> >>>> 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 <[email protected]> >>>> 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 >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>> 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 >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >> WebObjects-dev mailing list >> [email protected] >> http://www.omnigroup.com/mailman/listinfo/webobjects-dev >> > > with regards, > -- > > Lachlan Deck > > > > _______________________________________________ WebObjects-dev mailing list [email protected] http://www.omnigroup.com/mailman/listinfo/webobjects-dev