Re: Stumped on "Attempt to insert null object...." when connecting to DB
Lachlan Deck <[email protected]> Sat, 21 Mar 2009 11:34:11 +1100
| Newsgroups | gmane.comp.web.webobjects.devel |
|---|---|
| Message-ID | <[email protected]> |
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 <chill@global-
> village.net>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