Group: Forum Members
Posts: 9,
Visits: 9
|
I loaded the trial and the sample databases into SQL Server 2005.
When I try the "Browse Dialog Advanced", "IsDirty Changed Event" or any of the demos I get:
**********************
SqlException
Invalid object name 'customers'.
Source : .Net SqlClient Data Provider
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.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at MicroFour.StrataFrame.Data.DbDataSourceItem.GetDataTable(DbCommand Command, OnChangeEventHandler CallBack)
at MicroFour.StrataFrame.Data.SqlDataSourceItem.GetDataTable(DbCommand Command, OnChangeEventHandler CallBack)
at MicroFour.StrataFrame.Data.DbDataSourceItem.GetDataTable(String Statement, OnChangeEventHandler CallBack)
at MicroFour.StrataFrame.Data.DataLayer.GetDataTable(String Statement, Boolean RegisterNotification)
at MicroFour.StrataFrame.Business.BusinessLayer.FillDataTable(String SelectStatement)
at BrowseDialogAdvancedSample.CustomersBO.FillTop100()
at BrowseDialogAdvancedSample.Form1.CustomersBO1_ParentFormLoading()
at MicroFour.StrataFrame.Business.BusinessLayer.raise_ParentFormLoading()
at MicroFour.StrataFrame.Business.BusinessLayer.OnParentFormLoading()
at MicroFour.StrataFrame.Business.BusinessLayer.RaiseParentFormLoadingEvent()
at MicroFour.StrataFrame.UI.Windows.Forms.BaseForm.InitializeFormLoadObjects()
at MicroFour.StrataFrame.UI.Windows.Forms.BaseForm.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.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)
**********************
Interestingly, when I close the Error Dialog, it looks like the Browse Dialog demo works and it can get data y choosing "Browse" or "Browse as Lookup".
However, most demos do not work and all give me errors.
I thought I entered my database credentials incorrectly, but found nowhere to change what I entered. So, I uninstalled StrataFrame. That led to another problem. It hung on Unregistering assemblies. I then moved the open form and noticed an error message that the uninstall path for 2005 templates could not e found (that makes sense because I am using VS2008, not 2005) but it does not make sense that an error dialog is not displayed in front of other forms. After clicking okay, it then uninstalled correctly.
However, I reinstalled StrataFrame (and I ensured the Program Files directories were removed) only to discover my credentials PERSISTED BEYOND THE UNINSTALL!
I looked here on the forum and found the reference to connection.dat... IT IS STORED IN THE HIDDEN APPLICATION DATA DIRECTORY!
Why? I suggest moving it to a non-hidden and expected directory... at least clean up the application data directory when uninstalling.
Anyway, I was then asked for my credentials again, where it is clear that "ad" credentials are tested, so it wasn't a login/access to SQL Server problem.
That leaves me with a demo that is not working and crashes on every demo from the Sample Console.
How do I get this resolved?
TIA
|
Group: Forum Members
Posts: 9,
Visits: 9
|
It can be fixed by specifying the correct collation (I.e Latin1_General_CI_AS) in the install scripts. Any SQL Server instance with a different (I.e. case-sensitive - SQL_Latin1_General_CP1_CS_AS) collation as a server default will fail.
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Glad you got it going, Trevor.
|
Group: Forum Members
Posts: 9,
Visits: 9
|
Getting it going is not an easy task once a database is installed with the wrong collation. I would actually have preferred the demo to work in case-sensitive mode.
I suggest this:
1) Synchronize the demo code to the installed schema such that there are no variations in case sensitivity (that would fix the problem).
OR
2) Have your install scripts specify a case-insensitive collation. If no collation is specified, the default of the server will be used. Certainly, any collations from other languages let alone case sensitivity collation issues will break the demo. It really should only require a small change to one-line for your install script such that it specifies collation when the database is created. Use the built-in script tool for SQL Server for any of your databases and you should see an example of how the collation is specified (the built-in tool will ensure that collation is included in the script).
NOTE: Once a database is installed with the wrong collation, it requires a very complex script to change it. It is a major task to convert a "server's" default as opposed to setting a default for a "database" (within the server).
So, this was resolved by deleting the database and using a different server. Since, I didn't have access to your install script, I could not properly install it on that server. Thus, my two suggestions above.
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Yep, it makes sense. Thank you for your contribution, I will make sure it goes to our developers.
|