Solved

Getting Data Into SQL From Access

Posted on 1998-09-16
5
200 Views
Last Modified: 2010-03-19
I need to move data from an Access database to a SQL Server database, and I have only a few days to get it done.

Knowing Access and being a complete novice at SQL Server (we're on the new Beta version) I decided to do a 'quick and dirty' port from Access by linking to SQL Server and just filling the tables up on the Access side.

But I have run into problems with tables containing Identity columns. They won't accept my data and when I try to use the SET IDENTITY_INSERT {table} ON I get a permissions errors. And yet my connection is for the sa.

What am I missing? Is there a better (faster) way to get my data from Access to SQL Server in an automated process?
0
Comment
Question by:bjames
5 Comments
 

Expert Comment

by:NateT
Comment Utility
export all the tables data out to tab delim files and use bcp to import the data.  I think the sql 7.0 has a gui interface to do this, but if you have to go the cmd line route and need some help with syntax let me know.
0
 

Expert Comment

by:bert_iligan
Comment Utility
There are tools available on the net for download, try to browse for MSACCESS97 UPSIZING TOOLS. What you can do with this is you can upsize your existing access tables to the sql server.
0
 

Author Comment

by:bjames
Comment Utility
I guess I was hoping more to know how it could be done via MS-Access as our company intends to use both SQL Server and Access as back ends to our software. SQL will be for large customers and Access will be for smaller customers who cannot justify the cost of migrating up at this time.

My mandate (for the present) is to create a single product which moves data to either SQL or Access. Right now I have an Access product which moves data to Access, but it isn't so clean going to SQL.

My current solution has been to create a matching set of tables in SQL which do not have Identity columns and move the data there first. Then, within SQL I am able to issue the command SET IDENTITY_INSERT {table} ON and move the data again. But I was wondering if there is a way I can move the data in a single step via Access.

0
 
LVL 1

Accepted Solution

by:
aumdavis earned 100 total points
Comment Utility
When I need to move tables with data onto SQL Server from Access, I use the following method:

1.  Create a make-table query on the table you want to move.
2.  View the properties of the query in design view.  Change the 'Destination Table' and 'Destination Database' to the table name  you want on SQL Server in the database you want.
3.  Change the 'Dest Connect String' to ODBC;

When you run the query, Access will ask for your username and password (you can also store this info in the connection string parameter).  Access will then create the table and move the data for you.

It's not real fast, but it does work, and it would be easy to automate.  Be careful with datatypes, they don't always convert exactly as you would like them to.

Hope this helps!
0
 

Author Comment

by:bjames
Comment Utility
It isn't exactly what I was hoping for, but I'm now thinking that what I want to do probably cannot be done. The tables I want to send data to already exist, so creating new tables as I move the data is about the same as what I'm doing now (keeping a copy of tables without the identity constraint to receive the data. In either case I must port the data from the 'temporary' tables into the actual 'live' tables. (Importing data is not necessarily a one-time event.)

But I'm assuming now that pushing data from MS-Access directly into an existing SQL table with an identity constraint is not doable. There must be an intermediate table or file to receive the data first.

Thanks
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

Performance is the key factor for any successful data integration project, knowing the type of transformation that you’re using is the first step on optimizing the SSIS flow performance, by utilizing the correct transformation or the design alternat…
Introduction SQL Server Integration Services can read XML files, that’s known by every BI developer.  (If you didn’t, don’t worry, I’m aiming this article at newcomers as well.) But how far can you go?  When does the XML Source component become …
Via a live example, show how to setup several different housekeeping processes for a SQL Server.
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

771 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

10 Experts available now in Live!

Get 1:1 Help Now