iBO Connection Error

Hi All,

I am getting this error on an eseries page:

Err Num: 3231 - iboDataServer.CConnection.fdrqInitConnection: Error opening connection.

And the following error shows up in the Windows Event Viewer:

The VB Application identified by the event source logged this Application iboUserSecurity: Thread ID: 896 ,Logged: IBO VBRuntime error - Source: (Microsoft OLE DB Provider for SQL Server - iboDataServer.CConnection.sOpenCloseConnection) Description: Login failed for user 'iboDataServer_iMIS10_LIVE'.

 

I have checked the database and confirmed that the iboDataServer_iMIS10_LIVE user exists, and has db_owner rights to the database being connected to.

The error is occurring after running code like the following:

<code>
        <cfset usrUser = CreateObject("COM","iboUserSecurity.CUser","Local")>
        <cfset usrUser.DBID = "ODBC:#arguments.datasource#">
        <cfset objResult = usrUser.Errors>
        <cfset strResult = objResult.GetErrorMessage()>
        <cfif strResult neq "">
            <cfset l_Return.Error = strResult>
            <cfreturn l_Return>
        </cfif>
   
            <cfset cbo = CreateObject("COM","iboContactManagement.CContactsBOAdmin","Local")>
            <cfset cID = cbo.NewContact(usrUser,true)>
            <cfset objResult = cbo.Errors>
            <cfset strResult = objResult.GetErrorMessage()>
            <cfif strResult neq "">
                <cfset l_Return.Error = strResult>
                <cfreturn l_Return>
            </cfif>

</code>

 

The error occurs when the cbo.NewContact(usrUser,true) function is run.

Any thoughts on what might be causing this error?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Betcha a nickel

Betcha a nickel somebody clicked "Update all SQL Logins" after maintaining users.  That button is not needed when editing users - it's only for when a database is restored under a new name and the SQL users must be reconnected to SQL logins of the same name.  Unfortunately, it also changes the iBODataServer login which will disable any running iBO applications.

Usually, restarting the iBO app will fix the problem, as it re-reads the password from the database.
--
Bruce Wilson
Director, Technical Services
RSM McGladrey, Inc.

Restarting which App?

Which iBO app are you referring to restarting?  The eseries application that is trying to use the iBO class?  I've tried an iisreset on that machine, without any results.

Contrary to popular belief

Contrary to popular belief, IISRESET will not necessarily restart an iMIS website.  In ColdFusion, the Application state is maintained in the "ColdFusion Application Server" service, which does not restart when IIS does.  Likewise, for ASP.NET applications, you really need to restart the application pool more than IIS itself.

If the code that uses iBO is in an "Application" directory (as defined by IIS) then you probably should restart the related app pool in addition to the CF service.
--
Bruce Wilson
Director, Technical Services
RSM McGladrey, Inc.

Restarted the Coldfusion

Restarted the Coldfusion Application Server (smacks forehead for not thinking of that first).  Now am getting a different error, as shown below.  Would I run recreate SQL Logins at this point?

Err Num: 1006 - iboDataServer.CDatabaseStatic.sInitDatabase: General Error. Unable to open database. ErrNumber:-2147467259 ErrDescription:Cannot open database requested in login 'iMIS10_LIVE'. Login fails. DSN:ESERIES_LIVE Server:MDA_NT_FS2 Database:iMIS10_LIVE SQLLogin:iboDataServer_iMIS10_LIVE

Probably so

Probably so.  The Update All SQL Logins button causes problems if anyone is logged into iMIS while you press it.  Get everyone out, run it again, then recycle CF and see if you get better results.
--
Bruce Wilson
Director, Technical Services
RSM McGladrey, Inc.

Ok, tried doing a "Re-create

Ok, tried doing a "Re-create All SQL Logins", and still have the same error.  Also tried the "Update All SQL Logins" after that, and continue to see the same error.  I looked at the database, and the iboDataServerUser no longer exists as a valid database user.  Would this happen if the iBO was not licensed properly?  I thought I would get an error stating that, but maybe not.  Any suggestions on where to go from here?

Thanks!

Not a license issue

This isn't a license issue.  Manually drop the SQL login, then run the Update again.
--
Bruce Wilson
Director, Technical Services
RSM McGladrey, Inc.