StrataFrame Forum

Destination List Not Filled

http://forum.strataframe.net/Topic13119.aspx

By Bill Cunnien - 12/20/2007

I am trying to test the deployment of the security tables to my test server from which the application runs.  I setup a profile in the DDT, then began the wizard.  After selecting Role Based Security Type for the DDT, I was then asked about the source DB.  Of course, this is the local SSE2005 database used only by my development environment.  That was no problem.  When I go to the next window, I am asked about the destination database.  The drop down list is not populated.  I cannot choose anything.  I clicked finished anyway (knowing I would get an error) and I received an error box with the typical object not found error.  I clear the error window and now I am stuck on the wizard.  I cannot cancel, break, esc or anything.  Time to kill the process.

What do I need to do to fill that list of potential destinations?

Thanks,
Bill

By Ivan George Borges - 12/21/2007

Hi Bill.

Have you added a Database into your newly created DDT profile? Either choose New Database from the Profile menu, or right-click on the left pane and choose New Database, if this is the case.

Hope it helps.

By StrataFrame Team - 12/21/2007

Yep, Ivan is correct.  You need to have a database in your profile before you can import the security table structures and data.
By Bill Cunnien - 12/21/2007

Thanks, Ivan and Ben!

I created the database that will store my schema and data for the roles and security.  I ran the Deployment Package Wizard.  It seems like the DDT has done something, although I am not sure what it is exactly.  Now, I would like to actually deploy this database to my SQL Server.  How do I do that?  When I choose the option "Deploy to Server" from the toolbar (seems like the logical thing to do), I am presented with a wizard.  I fill in the SQL Server data to which I want to deploy the package, then click next.  The database target names is empty.  Is this a bad thing?  Should I proceed, anyway?  Is there some help doc that talks about these steps?

Thanks, again,
Bill

By Ivan George Borges - 12/21/2007

The database target names is empty.

Hey Bill.

That's strange. It should be populated with the Database(s) name(s) created in the project. Sorry if this is a silly question, but are you sure you have a Database created in the profile you are trying to deploy?

By Ivan George Borges - 12/21/2007

Sorry Bill, forgot to mention.

There is a whole lot of info on the Help file under "Database Deployment Toolkit".

By Bill Cunnien - 12/21/2007

I went ahead and clicked next on the empty grid.  It didn't do anything, even though it said it created the metadata.  Nothing is in my database.

I did it again to see what would happen.  Now, the grid is filled on the same step in the wizard.  Odd.  I clicked next, and, wham! I got a lot of good activity until this error shows up:

"Could not locate entry in sysdatabases for database 'Master'.  No entry found with that name.  Make sure that the name is entered correctly."

It looks like it created the database, added the tables, but it bombed on the views.

Btw, I cannot find anything about this deployment procedure anywhere in the docs.  There is a lot of stuff, but I am coming up blank on help regarding the actual deployment to the server.  Maybe it has a name that is different than I expect.

Thanks,
Bill

By Bill Cunnien - 12/21/2007

Here's what I think is happening...the database table is named 'master', not 'Master'.  The casing is wrong.  This is not something that I am able to fix.  What can I do, now?
By Bill Cunnien - 12/21/2007

I went ahead and stuck the security package on another server.  The same case constraints apparently do not exist, because the package deployed without incident.  Now, I have my app data on one server and the security data on another.  What do I do to get the app to recognize where the data resides for security?
By Bill Cunnien - 12/21/2007

Naturally, the SecurityDataSourceKey.  I added my DataLayer.DataSource definition for the database, then set the SecurityBasics.SecurityDataSourceKey to the new key.  Simple.
By Bill Cunnien - 12/21/2007

Well, I thought it was simple.  Another error has popped up.  The server is telling me that it is refusing connections.

An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

This doesn't make much sense.  It is a 2K server and name pipes are the active protocol and there is no limit set on connections.  Also, how could I deploy the database, but not be able to access it?

Interesting!
Bill

By Bill Cunnien - 12/21/2007

Solved.  BigGrin

It had to be in the data source string.  So, after reviewing it, I realized that the instance name was not represented properly. 

Wrong: Data Source=SERVER/INSTANCE

Right: Data Source=SERVER\\INSTANCE

Hey, what's a back slash between friends?

Bill

By Trent L. Taylor - 12/21/2007

LOL...glad you found your problem Smile
By Trent L. Taylor - 12/21/2007

Yup...you found it.  The SecurityDataSourceKey tells the RBS BOs which data source to use. Smile
By Greg McGuffey - 12/21/2007

Here's what I think is happening...the database table is named 'master', not 'Master'. The casing is wrong. This is not something that I am able to fix. What can I do, now?


SQL server doesn't care about casing. So...



Use master



and



Use master



both work.
By Trent L. Taylor - 12/21/2007

Actually, the defaults were changed on your server to be case sensitive...this is generally a bad idea.  There are certain developers out there that swear by case-sensitive SQL Servers, but it can complicate things, as you have learned.  When you install SQL Server, by default, it will assume Case-Insensitive.  You can change this through the SQL Server Management Studio, but this is what is happening to you...good eye Smile
By Bill Cunnien - 12/21/2007

The old SQL Server on which I placed the app data is one of the original RDBMSs in our company.  It started at v7 (maybe even 6.5!) and one of the requirements by the software that we bought it for was case-sensitivity.  It is often a headache to work around.  That is why I got a second SQL Server to do the other heavy lifting.  The main app data will have to reside on the old one, unfortunately.
By Greg McGuffey - 12/21/2007

Actually, the defaults were changed on your server to be case sensitive...


Jeesh, I completely forgot about that option. Blush



There are certain developers out there that swear by case-sensitive SQL Servers, but it can complicate things, as you have learned.


I certainly understand swearing at developers who turn this option on... w00t