473,503 Members | 2,059 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Access migration to SQL Server

Hello,

We maintain a VB6 front-end application using an Access 2000 database. All
code and forms are in VB6. The program also uses several queries/reports
defined in Access. For corporate reasons we must move to SQL Server right
away. Based on our configuration, we're hoping someone can give us a feel
for what's involved here. Since we're only using Access for the data we're
not sure what an "upsizing" would entail. Can someone point us in the right
direction, tell us the main gotchas, etc. Thanks a lot.

Teri Welch
Jul 23 '05 #1
7 2114
Hi

If you are going to remove access completely your access queries will need
to be re-written as stored procedures or views and the reports rewritten in
(say) VB. Alternatively you can use an Access Data Project where most of the
code can remain the same.

The access upgrade wizard will migrate most things, although it can run into
problems if you are using something that is more complex.

I suggest that you create a test system and copy your database and
application onto it. Then you try the upgrade, and you will get a feel for
what is involved and how much can be easily migrated.

John

"Teri Welch" <tr****@yahoo.com> wrote in message
news:xLuwd.5516$jn.1131@lakeread06...
Hello,

We maintain a VB6 front-end application using an Access 2000 database. All
code and forms are in VB6. The program also uses several queries/reports
defined in Access. For corporate reasons we must move to SQL Server right
away. Based on our configuration, we're hoping someone can give us a feel
for what's involved here. Since we're only using Access for the data we're
not sure what an "upsizing" would entail. Can someone point us in the
right
direction, tell us the main gotchas, etc. Thanks a lot.

Teri Welch

Jul 23 '05 #2
There are a number of tools you can use to upsize the database, but in
my experience, I would tend to do this manually to ensure everything in
the structure is correct.

Your main issue will be with the queries as the syntax can be slightly
different to SQL. It's only subtle, but you would need to address this.

Personally, I would manually create the tables (inc indexes etc...)
then move the data using the import wizard and do any manipulation you
need to get this correctly into the tables. Then, I'd address each
query step by step in VB.

There shouldn't be too many issues (as a general statement). It may be
worthwhile looking at using views and stored procedures as these may
give you additional benefits.

What you will find is that once done, it's probably quicker and much
less likely to have issues with record locking as SQL handles this much
better.

With your reports, I would imagine you will leave these in Access, set
up an ODBC link to your SQL tables in access and call the reports
through VB as you will currently do. All you need to do is swap the
links over and it should be straight forward. You may do this and then
think about leaving the links in for the queries, but I would advise
not to on experience and for simplicity.

I'm sure if there are any specific problems, a number of people on this
NG will help, if not, try...

http://groups.google.com/groups?hl=e...ases.ms-access

Ryan
Teri Welch wrote:
Hello,

We maintain a VB6 front-end application using an Access 2000 database. All code and forms are in VB6. The program also uses several queries/reports defined in Access. For corporate reasons we must move to SQL Server right away. Based on our configuration, we're hoping someone can give us a feel for what's involved here. Since we're only using Access for the data we're not sure what an "upsizing" would entail. Can someone point us in the right direction, tell us the main gotchas, etc. Thanks a lot.

Teri Welch


Jul 23 '05 #3

On Fri, 17 Dec 2004 08:34:55 -0000, "John Bell" <jb************@hotmail.com>
wrote:
Hi

If you are going to remove access completely your access queries will need
to be re-written as stored procedures or views and the reports rewritten in
(say) VB. Alternatively you can use an Access Data Project where most of the
code can remain the same.
I have to say it - bah! There - I said it.

Every single solitary time I've seen someone post on Usenet asking about
upsizing an Access database to SQL Server, the first response says something
about having to convert all your queries to views and stored procedures.
Frankly, that's not at all necessary, and a serious drain on time and money.

Access/DAO mostly does a fine job of translating queries of linked tables into
reasonable server-side SQL for execution, and it creates prepared statements
for parameter queries, so SQL Server won't have to keep recompiling each query
each time it sees it. Furthermore, Access is quite happy doing things like
using a named query parameter to look up a value from a form control and
allowing editing of values from multiple tables in a query with a join.

If you convert all these things to views and stored procedures, you have to
figure out how to do things like bind forms to parameterized stored
procedures, and implement extra code and forms for editing that were never
needed before, etc. It's a huge, complex, error prone exercise that forces
you to add complexity and remove convinience in the UI, all for basically no
return on investment.

Now, you're going to say that sometimes Access does not do a good job of
producing the server-side SQL. Yup, that's true, so in -those- cases, using a
view and/or a stored procedure can be very beneficial. You're also going to
say that if you have multiple systems accessing the same back-end, you want to
make the database interactions consistent and centralize business logic. I
say, yes, but again, do that incrementally as needed for specific cases. If
you really need to centralize a -lot- of bunsiness logic, T-SQL is not a great
language for it anyway, and you probably should think about a 3-tier system
and dump the Access UI altogether.
The access upgrade wizard will migrate most things, although it can run into
problems if you are using something that is more complex.
Here's a case where I do recommend doing it the "hard way. I've never seen
the upsizing wizard do a particularly good job. For each table, you should be
deciding what should be your clustered index, whether you need a TIMESTAMP
field, checking for NULL in Boolean fields, etc.
I suggest that you create a test system and copy your database and
application onto it. Then you try the upgrade, and you will get a feel for
what is involved and how much can be easily migrated.


An excellent suggestion - I agree.

Jul 23 '05 #4
Hi Steve

I don't disagree with anything you said, but you seemed to have missed the
caveat in the first sentence, i.e. remove access all together and you don't
really have any choice.

John

"Steve Jorgensen" <no****@nospam.nospam> wrote in message
news:kd********************************@4ax.com...

On Fri, 17 Dec 2004 08:34:55 -0000, "John Bell"
<jb************@hotmail.com>
wrote:
Hi

If you are going to remove access completely your access queries will need
to be re-written as stored procedures or views and the reports rewritten
in
(say) VB. Alternatively you can use an Access Data Project where most of
the
code can remain the same.


I have to say it - bah! There - I said it.

Every single solitary time I've seen someone post on Usenet asking about
upsizing an Access database to SQL Server, the first response says
something
about having to convert all your queries to views and stored procedures.
Frankly, that's not at all necessary, and a serious drain on time and
money.

Access/DAO mostly does a fine job of translating queries of linked tables
into
reasonable server-side SQL for execution, and it creates prepared
statements
for parameter queries, so SQL Server won't have to keep recompiling each
query
each time it sees it. Furthermore, Access is quite happy doing things
like
using a named query parameter to look up a value from a form control and
allowing editing of values from multiple tables in a query with a join.

If you convert all these things to views and stored procedures, you have
to
figure out how to do things like bind forms to parameterized stored
procedures, and implement extra code and forms for editing that were never
needed before, etc. It's a huge, complex, error prone exercise that
forces
you to add complexity and remove convinience in the UI, all for basically
no
return on investment.

Now, you're going to say that sometimes Access does not do a good job of
producing the server-side SQL. Yup, that's true, so in -those- cases,
using a
view and/or a stored procedure can be very beneficial. You're also going
to
say that if you have multiple systems accessing the same back-end, you
want to
make the database interactions consistent and centralize business logic.
I
say, yes, but again, do that incrementally as needed for specific cases.
If
you really need to centralize a -lot- of bunsiness logic, T-SQL is not a
great
language for it anyway, and you probably should think about a 3-tier
system
and dump the Access UI altogether.
The access upgrade wizard will migrate most things, although it can run
into
problems if you are using something that is more complex.


Here's a case where I do recommend doing it the "hard way. I've never
seen
the upsizing wizard do a particularly good job. For each table, you
should be
deciding what should be your clustered index, whether you need a TIMESTAMP
field, checking for NULL in Boolean fields, etc.
I suggest that you create a test system and copy your database and
application onto it. Then you try the upgrade, and you will get a feel for
what is involved and how much can be easily migrated.


An excellent suggestion - I agree.

Jul 23 '05 #5
Yup - I'd say my knee was a bit quick on the jerk there <g>.

On Fri, 17 Dec 2004 17:05:26 -0000, "John Bell" <jb************@hotmail.com>
wrote:
Hi Steve

I don't disagree with anything you said, but you seemed to have missed the
caveat in the first sentence, i.e. remove access all together and you don't
really have any choice.

John

"Steve Jorgensen" <no****@nospam.nospam> wrote in message
news:kd********************************@4ax.com.. .

On Fri, 17 Dec 2004 08:34:55 -0000, "John Bell"
<jb************@hotmail.com>
wrote:
Hi

If you are going to remove access completely your access queries will need
to be re-written as stored procedures or views and the reports rewritten
in
(say) VB. Alternatively you can use an Access Data Project where most of
the
code can remain the same.


I have to say it - bah! There - I said it.

Every single solitary time I've seen someone post on Usenet asking about
upsizing an Access database to SQL Server, the first response says
something
about having to convert all your queries to views and stored procedures.
Frankly, that's not at all necessary, and a serious drain on time and
money.

Access/DAO mostly does a fine job of translating queries of linked tables
into
reasonable server-side SQL for execution, and it creates prepared
statements
for parameter queries, so SQL Server won't have to keep recompiling each
query
each time it sees it. Furthermore, Access is quite happy doing things
like
using a named query parameter to look up a value from a form control and
allowing editing of values from multiple tables in a query with a join.

If you convert all these things to views and stored procedures, you have
to
figure out how to do things like bind forms to parameterized stored
procedures, and implement extra code and forms for editing that were never
needed before, etc. It's a huge, complex, error prone exercise that
forces
you to add complexity and remove convinience in the UI, all for basically
no
return on investment.

Now, you're going to say that sometimes Access does not do a good job of
producing the server-side SQL. Yup, that's true, so in -those- cases,
using a
view and/or a stored procedure can be very beneficial. You're also going
to
say that if you have multiple systems accessing the same back-end, you
want to
make the database interactions consistent and centralize business logic.
I
say, yes, but again, do that incrementally as needed for specific cases.
If
you really need to centralize a -lot- of bunsiness logic, T-SQL is not a
great
language for it anyway, and you probably should think about a 3-tier
system
and dump the Access UI altogether.
The access upgrade wizard will migrate most things, although it can run
into
problems if you are using something that is more complex.


Here's a case where I do recommend doing it the "hard way. I've never
seen
the upsizing wizard do a particularly good job. For each table, you
should be
deciding what should be your clustered index, whether you need a TIMESTAMP
field, checking for NULL in Boolean fields, etc.
I suggest that you create a test system and copy your database and
application onto it. Then you try the upgrade, and you will get a feel for
what is involved and how much can be easily migrated.


An excellent suggestion - I agree.


Jul 23 '05 #6
Thanks for the replies from everyone.

1. How can we convert MS-Access import specs to SQL Server. We import many
data files from outside sources -- in both ASCII and Excel formats -- and
make heavy use of import specs within VB6 programs by invoking the
TransferText and TransferSpreadsheet functions.

2. Regarding reports, must we leave them in Access? We are inclined to
remove Access completely from the picture. Maybe that is too drastic and you
would advocate otherwise. But we question the performance of using Access
reports and the necessity to have Access open everytime a report is invoked
from within VB6. Plus, we have to keep Access installed. How can we create
the reports natively within SQL Server.

Thanks,
Teri Welch
"Ryan" <ry********@hotmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
There are a number of tools you can use to upsize the database, but in
my experience, I would tend to do this manually to ensure everything in
the structure is correct.

Your main issue will be with the queries as the syntax can be slightly
different to SQL. It's only subtle, but you would need to address this.

Personally, I would manually create the tables (inc indexes etc...)
then move the data using the import wizard and do any manipulation you
need to get this correctly into the tables. Then, I'd address each
query step by step in VB.

There shouldn't be too many issues (as a general statement). It may be
worthwhile looking at using views and stored procedures as these may
give you additional benefits.

What you will find is that once done, it's probably quicker and much
less likely to have issues with record locking as SQL handles this much
better.

With your reports, I would imagine you will leave these in Access, set
up an ODBC link to your SQL tables in access and call the reports
through VB as you will currently do. All you need to do is swap the
links over and it should be straight forward. You may do this and then
think about leaving the links in for the queries, but I would advise
not to on experience and for simplicity.

I'm sure if there are any specific problems, a number of people on this
NG will help, if not, try...

http://groups.google.com/groups?hl=e...ases.ms-access
Ryan
Teri Welch wrote:
Hello,

We maintain a VB6 front-end application using an Access 2000

database. All
code and forms are in VB6. The program also uses several

queries/reports
defined in Access. For corporate reasons we must move to SQL Server

right
away. Based on our configuration, we're hoping someone can give us a

feel
for what's involved here. Since we're only using Access for the data

we're
not sure what an "upsizing" would entail. Can someone point us in the

right
direction, tell us the main gotchas, etc. Thanks a lot.

Teri Welch

Jul 23 '05 #7
Hi Teri

"Teri Welch" <tr****@yahoo.com> wrote in message
news:s1hyd.8482$jn.4225@lakeread06...
Thanks for the replies from everyone.

1. How can we convert MS-Access import specs to SQL Server. We import many
data files from outside sources -- in both ASCII and Excel formats -- and
make heavy use of import specs within VB6 programs by invoking the
TransferText and TransferSpreadsheet functions.
You can use DTS to import from many different locations.
2. Regarding reports, must we leave them in Access? We are inclined to
remove Access completely from the picture. Maybe that is too drastic and
you
would advocate otherwise. But we question the performance of using Access
reports and the necessity to have Access open everytime a report is
invoked
from within VB6. Plus, we have to keep Access installed. How can we create
the reports natively within SQL Server.
Reporting services is provided with SQL server, but this is probably not the
type of reporting you require. There may be some third party VB/ActiveX
component that will do a similar job as your current requirements.

Thanks,
Teri Welch

John

"Ryan" <ry********@hotmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
There are a number of tools you can use to upsize the database, but in
my experience, I would tend to do this manually to ensure everything in
the structure is correct.

Your main issue will be with the queries as the syntax can be slightly
different to SQL. It's only subtle, but you would need to address this.

Personally, I would manually create the tables (inc indexes etc...)
then move the data using the import wizard and do any manipulation you
need to get this correctly into the tables. Then, I'd address each
query step by step in VB.

There shouldn't be too many issues (as a general statement). It may be
worthwhile looking at using views and stored procedures as these may
give you additional benefits.

What you will find is that once done, it's probably quicker and much
less likely to have issues with record locking as SQL handles this much
better.

With your reports, I would imagine you will leave these in Access, set
up an ODBC link to your SQL tables in access and call the reports
through VB as you will currently do. All you need to do is swap the
links over and it should be straight forward. You may do this and then
think about leaving the links in for the queries, but I would advise
not to on experience and for simplicity.

I'm sure if there are any specific problems, a number of people on this
NG will help, if not, try...

http://groups.google.com/groups?hl=e...ases.ms-access

Ryan
Teri Welch wrote:
> Hello,
>
> We maintain a VB6 front-end application using an Access 2000

database. All
> code and forms are in VB6. The program also uses several

queries/reports
> defined in Access. For corporate reasons we must move to SQL Server

right
> away. Based on our configuration, we're hoping someone can give us a

feel
> for what's involved here. Since we're only using Access for the data

we're
> not sure what an "upsizing" would entail. Can someone point us in the

right
> direction, tell us the main gotchas, etc. Thanks a lot.
>
> Teri Welch


Jul 23 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1533
by: areejan2000 | last post by:
Experts/Programmers please advice on these questions. 1. Is Mysql secure than MsAccess (there are softwares avilable to retrieve Ms Office Password) 2. Which 3rd Party tool Would You...
7
1437
by: analyst | last post by:
I need to migrate an Excel app I developed ten years ago, that has evolved into something with a life of it's own. But I know little to nothing about database platforms and development. The...
4
3682
by: raibeart | last post by:
It is like comparing a VW bug with a Mercedes. JET has corruption problems. It is not meant for use over the internet. It is not meant for more that 3 or 4 users. No clear migration path to...
4
5277
by: jmnaste | last post by:
Hi, I tried to migrate data of an Access 2003 application (.mdb) to SQL Server 2005 Express. Using the Wizard and choosing 'create a new database', I receive (a French message saying roughly)...
2
1219
by: KR | last post by:
Hi, We have several Access database that we would over time plan to convert to SQL. I am looking for a tool that works better than the upsize wizard in helping with the transition - I am...
13
2273
by: Elton Cohen | last post by:
Hi newsgroup! Can anyone tell me where I should put a simple Access database file in order to be accessible for every computer in the network (same workgroup)? There does not need to be any...
2
17698
by: Igor | last post by:
Can I convert .MDB file to SQL Server database or I need to develop SQL server database from begin, every table, every field?
15
2862
by: Wes Groleau | last post by:
When I try to import from Access, the DTS wizard only allows me to import tables and queries. OK, I'm not surprised the "macros" and reports don't come over. But it executes each query, and...
21
4059
by: nihad.nasim | last post by:
Hi there, I have a database in Access that I need on the web. The web page should connect to the database and write records for certain tables and view records for others. I want to know a...
11
2549
by: Chad | last post by:
Hi Is it possible to substitute an alternative data source (eg MySQL or SQL Server) into an existing MS-Access application?
0
7091
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7464
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5586
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5018
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4680
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3171
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1516
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
741
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
391
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.