Flavelle Ballem
|
|
Group: Forum Members
Posts: 56,
Visits: 126
|
BusinessLayerException The CurrentRow could not be evaluated because the CurrentRowIndex is out of range. Business object record count: 0. CurrentRowIndex: -1. Source : MicroFour StrataFrame Business Stack Trace: at MicroFour.StrataFrame.Business.BusinessLayer.get_CurrentRow() at MicroFour.StrataFrame.Business.DBEFileGroupsBO.get_fg_pk() at MicroFour.StrataFrame.Data.TableProperties..ctor(Int32 ProfilePK, String DatabaseName, Int32 DatabasePK, Int32 TablePK) at MicroFour.StrataFrame.Data.ProfileEditorDialog.ShowTableProperties(Int32 TablePK) at MicroFour.StrataFrame.Data.ProfileEditorDialog.cmi_Profile_AddTable_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.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)
|
|
|
StrataFrame Team
|
|
Group: StrataFrame Developers
Posts: 3K,
Visits: 2.5K
|
Is that error reproducable, and what sequence of clicks did you go through to create that error?
|
|
|
Flavelle Ballem
|
|
Group: Forum Members
Posts: 56,
Visits: 126
|
Ben: Can't remember what I did to produce that error. I have sent an e-mail to Bob with private things enclosed that may help in figuring out my ongoing problems. As an experiment, tried to create a new database and got the following: BusinessLayerException An error occurred while saving an the data to the server. BusinessLayerException An error occurred while saving the data to the server. SqlException Invalid object name 'dbefilegroups'. Source : MicroFour StrataFrame Business Stack Trace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteScalar() at MicroFour.StrataFrame.Data.DbDataSourceItem.ExecuteScalar(DbCommand Command) at MicroFour.StrataFrame.Business.BusinessLayer.ExecuteScalar(DbCommand CommandToExecute) at MicroFour.StrataFrame.Business.DBEFileGroupsBO.GetFileGroupsCount(String FileGroupName, Int32 DatabasePK) at MicroFour.StrataFrame.Business.DBEFileGroupsBO.DBEFileGroupsBO_CheckRulesOnCurrentRow(CheckRulesEventArgs e) at MicroFour.StrataFrame.Business.BusinessLayer.raise_CheckRulesOnCurrentRow(CheckRulesEventArgs e) at MicroFour.StrataFrame.Business.BusinessLayer.OnCheckRulesOnCurrentRow(CheckRulesEventArgs e) at MicroFour.StrataFrame.Business.BusinessLayer.CheckRules(Boolean RaiseCheckedEvent) at MicroFour.StrataFrame.Business.BusinessLayer.Save(Boolean Transactional, String TransactionKey) at MicroFour.StrataFrame.Data.DataLayer.SaveByForm(DataTable TableToSave, Boolean Transactional, String TransactionKey) at MicroFour.StrataFrame.Business.BusinessLayer.SaveByForm(Boolean Transactional, String TransactionKey) at MicroFour.StrataFrame.UI.Windows.Forms.BaseForm.Save(Boolean Transactional, String TransactionKey) at MicroFour.StrataFrame.UI.Windows.Forms.BaseForm.Save() at MicroFour.StrataFrame.Data.DatabaseProperties.cmdSave_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) 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)
Flavelle
|
|
|
StrataFrame Team
|
|
Group: StrataFrame Developers
Posts: 3K,
Visits: 2.5K
|
Generally, when you get an "Invalid object name" error within the DDT or the BOMapper, it's because the database connection to the StrataFrame database has changed. However, if this was the case, you probably would have received the error when the DDT first started up and the open profile dialog attempted to retrieve the available profiles. I'm not sure...
|
|
|
Flavelle Ballem
|
|
Group: Forum Members
Posts: 56,
Visits: 126
|
Ben: I'm beginning to suspect that there is a problem with the SQLExpress installation - I don't get any error when I start DDT. It's probably time that I did a cleanup on my machine, so let's leave this for now until that's done (about a week or so). Once that's done, then I'll let you know if the problem still persists. Until then, let's not lose any more sleep. thanks, Flavelle
|
|
|
Flavelle Ballem
|
|
Group: Forum Members
Posts: 56,
Visits: 126
|
I had one of those 'funny thoughts' that we all get, and I now know what the problem is: My installation of SQL Express is case-sensitive. My suspicion is that there is code in your program that works on a case-insensitive database, but will fail on a case-sensitive database. I was able to change the case-sensitivity on your databases and as soon as I did, things started to work. Could you please do some internal testing to verify the problem (set the StrataFrame databases to case-sensitive). You should find that you will get a number of different errors. If I'm right, then I am hoping that you will want to do a code review to ensure that references to all objects are case-sensitive. A common occurrence is within SQL Statements, where the column in a table may be called "Customer" and the SQL statement refers to it as "customer". This will work in a case-insensitive installation, but will fail in a case-sensitive installation of SQL Server. There are valid reasons why I want to use case-sensitivity, so I am hoping that you'll want to correct the problem. Thanks, Flavelle
|
|
|
Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 6.9K
|
The framework is entirely case sensitive so you will not have any issues there. But you are right in the fact that there are some tests that need to be changed to respect case and we are actually aware of this. Thanks for your input and we will definitely look at this. Thanks!
|
|
|
Flavelle Ballem
|
|
Group: Forum Members
Posts: 56,
Visits: 126
|
Trent: Responding to this one poses a challenge from the tact standpoint. If I understand your response correctly, then the Framework itself is case sensitive. The problem may be that there is something in the DDT that is not respecting case-sensitivity. Do I understand that correctly? The reason that I'm asking is that there must be something in the DDT that is not case-sensitive, because literally all I had to do was disable case sensitivity on the StrataFrame tables, and the DDT started working. It imported the fields in my table (previously, it only identified the table). There is still no Stored Procedure import, but I'm not sure that is supported in this version. Regards, Flavelle
|
|
|
Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 6.9K
|
I just left out the words DDT above. We already aware that there are some case-sensitivity issues that need to be addressed in the DDT. On the forum when we refer to the framework, this does not include the DDT and vice-versa. If we say "StrataFrame" then the context will determine what is inclusive in the conversation. I appologize for any confusion...in short, you are right, there is an issue with case-sensitivty in the DDT that we are already aware of. Thanks for your input.
|
|
|
Flavelle Ballem
|
|
Group: Forum Members
Posts: 56,
Visits: 126
|
Trent: Thanks - that now makes sense. In the meantime, a workaround is to remove the case-sensitivity from the StrataFrame databases in the SQL installation - you might want to add this in the readme. Flavelle
|
|
|