CEMT - Middle Tier Connections - Reports

For complex topics that regular users would not be interested in. For power users and database administrators.
Post Reply
User avatar
Ardavan
Posts: 106
Joined: Sat May 15, 2010 9:10 am

CEMT - Middle Tier Connections - Reports

Post by Ardavan » Thu Jul 26, 2018 7:58 am

Hello,

We have the CEMT setup with several connections all using Middle Tiers and have stumbled upon an issue when running reports. Attempting to run reports against multiple middle tier connections results in the attached error message (the same message shows when using the CEMT to run reports against a single connection as well). I suspected an issue with the middle tier so I tried with direct connections and received an error in a message box for each connection stating the connection has no results to show.

Code: Select all

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Column 'Writeoff' does not belong to table Total_0.
at System.Data.DataRow.GetDataColumn(String columnName)
at System.Data.DataRow.get_Item(String columnName)
at CentralManager.FormCentralProdInc.RunMonthly()
at CentralManager.FormCentralProdInc.butOK_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at OpenDental.UI.Button.OnClick(EventArgs ea) in C:\development\OPEN DENTAL SUBVERSION\opendental17.3\OpenDental\UI\Button.cs:line 155
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3101.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
CentralManager
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/CentralManager.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3101.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
OpenDental
Assembly Version: 17.3.40.0
Win32 Version: 17.3.40.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/OpenDental.EXE
----------------------------------------
OpenDentBusiness
Assembly Version: 17.3.40.0
Win32 Version: 17.3.40.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/OpenDentBusiness.DLL
----------------------------------------
CDT
Assembly Version: 17.3.16.0
Win32 Version: 17.3.16.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/CDT.DLL
----------------------------------------
MySql.Data
Assembly Version: 6.9.9.0
Win32 Version: 6.9.9.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/MySql.Data.DLL
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Oracle.DataAccess
Assembly Version: 2.112.3.0
Win32 Version: 2.112.3.0
CodeBase: file:///C:/Program%20Files%20(x86)/Open%20Dental/Oracle.DataAccess.DLL
----------------------------------------
System.EnterpriseServices
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///
I am planning to upgrade to the latest stable version because in our current version resetting user passwords from the CEMT requires knowing their current password, however I am willing to hold off upgrading for a few days if the reports can be fixed within this time (I remember them working in a previous version of the CEMT).

Thanks for your attention,
~ardy
There are 10 types of people in this world, those who will laugh at this joke, and those who won't. ~Annonymous Bug Writer

User avatar
dgraffeo
Posts: 147
Joined: Wed Sep 24, 2014 3:19 pm

Re: CEMT - Middle Tier Connections - Reports

Post by dgraffeo » Thu Jul 26, 2018 10:05 am

Interesting. I can look into this, it's most likely that someone changed the ProdInc report column names and didn't update the CEMT to retrieve the data using the new column names.
"To understand what recursion is, you must first understand recursion."

David Graffeo
Open Dental Software
http://www.opendental.com

User avatar
dgraffeo
Posts: 147
Joined: Wed Sep 24, 2014 3:19 pm

Re: CEMT - Middle Tier Connections - Reports

Post by dgraffeo » Thu Jul 26, 2018 10:49 am

What version are you on?
"To understand what recursion is, you must first understand recursion."

David Graffeo
Open Dental Software
http://www.opendental.com

User avatar
dgraffeo
Posts: 147
Joined: Wed Sep 24, 2014 3:19 pm

Re: CEMT - Middle Tier Connections - Reports

Post by dgraffeo » Thu Jul 26, 2018 11:27 am

Honestly, I'm seeing several different problems using middle tier connections on the CEMT. For instance, invalid credentials. Not being able to sync data to a middle tier connection. Stuff like that. I'd avoid using middle tier in the CEMT for the time being, I'm going to fix it up so middle tier works as expected.
"To understand what recursion is, you must first understand recursion."

David Graffeo
Open Dental Software
http://www.opendental.com

User avatar
Ardavan
Posts: 106
Joined: Sat May 15, 2010 9:10 am

Re: CEMT - Middle Tier Connections - Reports

Post by Ardavan » Thu Jul 26, 2018 1:02 pm

Thank you for the multiple replies and efforts in improving the CEMT, we are currently on version 17.3.40 of the CEMT and all of our OpenDentals. It is a wonderful tool but I see how the fact that it's used by so few practices may lead to it's neglect (how can you fix bugs nobody reports?)

The Middle Tier connections on the CEMT didn't even work in previous versions, at least now I can double click a Middle Tier connection in the CEMT and automatically login! Searching for patients works as well if I click the "Stop Refresh"/"Refresh" buttons.

While waiting for the Middle Tier improvements I will setup direct connections for the purposes of syncing.

Thanks again,
~ardy
There are 10 types of people in this world, those who will laugh at this joke, and those who won't. ~Annonymous Bug Writer

User avatar
dgraffeo
Posts: 147
Joined: Wed Sep 24, 2014 3:19 pm

Re: CEMT - Middle Tier Connections - Reports

Post by dgraffeo » Fri Jul 27, 2018 9:50 am

No problem. The issue is a lack of credentials within the database that is on the middle tier. To run any commands the middle tier checks those, but obviously if you haven't synced the CEMT yet there won't be any credentials to use. I'm going to talk with our other engineers to see if there's a way to run credential-less queries through the middle tier only for the case of initial syncing of usernames/passwords from the CEMT. That way we can at least get the credentials in place which the middle tier will use for further queries. It's somewhat antithesis to the purpose of the middle tier though to open it up to queries being run without credentials, so at this point I'm not sure what the solution is (if any).
"To understand what recursion is, you must first understand recursion."

David Graffeo
Open Dental Software
http://www.opendental.com

User avatar
Ardavan
Posts: 106
Joined: Sat May 15, 2010 9:10 am

Re: CEMT - Middle Tier Connections - Reports

Post by Ardavan » Fri Jul 27, 2018 10:26 am

Thanks and please don't sacrifice security, especially not on my behalf. I'd rather have to do some manual one time setup on each new connection than know that there are holes in the middle tier. Syncing on direct connections is mostly working except for an issue that BrandonR (I think) said was resolved in 17.3.71.
There are 10 types of people in this world, those who will laugh at this joke, and those who won't. ~Annonymous Bug Writer

Post Reply