Solved

Will column name changes made by SSMA during migration from Access 2000 to SQL 2005 affect the functionality of the database?

Posted on 2008-06-21
9
362 Views
Last Modified: 2013-11-28
I recently used SSMA to migrate the backend of our Access database in SQL Server 2005. I noticed
that in a couple of tables some of the column names had been changed (words deleted or rearranged).
How will these column name changes affect the functionality of the database e.g., use of forms etc.?
Can I change column names back to same field names as they were previously in Access 2000?
If not, what is the solution?  Thanks
0
Comment
Question by:PDSWSS
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 13

Accepted Solution

by:
MikeWalsh earned 500 total points
ID: 21840627
As long as the column names were using valid characters in SQL Server, I would suggest trying to change them back (after taking a backup of your migrated database.. and even better, restoring a test/pilot copy to make the changes on). If you are using an existing Access Forms application and just changing the pointer on the back end to point to SQL Server 2005 then you would definitely want the object names to remain the same so your functionality remains the same. Or change the forms.
0
 

Author Comment

by:PDSWSS
ID: 21840682
Thanks. Thats what seemed to be necessary. I wanted to check with an expert before making the column name  changes. Could you suggest a resource that would clearly describe what characters are allowed in
SQL server.
0
 
LVL 13

Assisted Solution

by:MikeWalsh
MikeWalsh earned 500 total points
ID: 21840817
You probably don't have invalid characters if they were valid in Access. I generally try to avoid using numbers and reserved keywords (http://msdn.microsoft.com/en-us/library/ms189822.aspx) when choosing names as this avoids confusion when accessing and using objects.
0
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

 

Author Comment

by:PDSWSS
ID: 21841566
Thanks again for your help. Examples of column name changes =

Access = Name of Group                      SQL = name
                City, Permanent Relative                   relative_permanent_city

Are spaces and commas not allowed in SQL? If so, then SQL will would not allow me to change to the Access column names and I would need to change in Access. Is that correct? Thanks,
0
 
LVL 13

Assisted Solution

by:MikeWalsh
MikeWalsh earned 500 total points
ID: 21842868
So.. Will it allow you to create a column name like that? Yes. Should you? In my opinion, No.

I believe column names should not have those characters. It is a bad design practice and makes querying the objects have an extra "step". You would have to reference the column name in brackets.. Select * from Table1 where [City, Permanent Relative] = 'Manchester', for example.

So it is possible but it is not a best practice. Descriptive but short names are a better option. If you can have different types of Cities for whatever your application is maybe a more normalized manner would be to have a "CityType" table that describes CityTypes and a table that contains Cities of various types. (just one though, there are other methods).

So the answer to your question is yes but not a great practice. If it means you can use your migrated app easier change them back for now, keep the brackets in mind and think about a plan to look at your design and at least look at your column names in the future.

HTH - Mike
0
 

Author Comment

by:PDSWSS
ID: 21842927
This is a temporary situation. We are redesigning the database. I will keep your suggestions in mind.

Just for clarity -  So you can name a column  "City, Permanent Relative" in SQL? Spaces between words are permitted? I had assumed the name was changed by SSMA because spaces were not allowed. I'm glad I was wrong.

When you say  "I believe a column name should not have those characters," its not clear to me which
characters you mean?  The Access titles are composed of letters, spaces and a comma?

Also why do you need to place the column name in brackets when running a query?

Thanks,
0
 
LVL 13

Expert Comment

by:MikeWalsh
ID: 21842946
The characters to which I was referring was Spaces and Commas. I like just letters in my column names. Preferably words, without spaces. But yes it would be allowed and would need to be accessed as [City, Permanent Relative].

The reason for the brackets is because when SQL bumps into the space it would normally assume you are trying to give another column name (i.e. SELECT col1, col2, col3) and when you hit the space the query engine will presume you are trying to either provide an alias or do another SQL operation and will error out.
0
 

Author Comment

by:PDSWSS
ID: 21842975
Thanks for the clarification and all your feedback. I will change the column names back to their original access names tomorrow and continue to test the database. After I do that, I will award you the points and close the question.

BTW- Do you run your Queries in SQL? We still run queries through the Access front end.  It appears that queries are easier to set up in Access are also more limited in SQL since action queries are not allowed.
What is your experience with this?  Thanks again,
0
 
LVL 13

Expert Comment

by:MikeWalsh
ID: 21842989
To be honest I don't run any Access apps and when I have I have done a hybrid approach.

Generally speaking I try to have most of my applications talk to SQL through stored procedures so it is entirely using SQL code and then that data is brought to the application layer where business rules/presentation rules/etc are applied and the data is interacted with. That is just my preference. There are many ways to do it and pros of each and people who swear by each and they are not all wrong. Whatever gives you the performance, security, flexibility and ease of coding.
0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question