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
322 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
  • 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
 

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
Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

 
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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

760 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now