SQL Server (2012) hangs when referencing Access database (2010) via ACE provider - sql-server-2012

My SQL Server 2012 server with several linked servers hangs when i try to add a linked server to an Access database using the ACE 12 provider. Once it hangs, SQL management studio stops displaying linked server catalog objects. I have enabled InProcess on the ACE provider.
How do I fix this/add the Access DB as a linked server without this problem?
For context, I have a MS Access database (about 1GB in size) with about a dozen tables that I want to load into corresponding tables in a SQL server 2012 database. The data is loaded on demand when a user process a button in an Excel worksheet. (worksheet calls stored procedure, stored procedure calls DTS package)
I want to change this process to remove the DTS package because users will no longer have permission to run DTS packages or xp_cmdshell.
I think the DTS package could easily be replaced using a linked server or even OPENDATASOURCE query, but I'm having trouble using the linked server (constantly hangs when i try to add it)

Related

Cannot open Microsoft Access table

I am a beginner in Microsoft Access and one of my friend gave me a copy of his SQL Server file and something with .BAK extension which I believe is the database as it is almost 300MB.
When I try to run the SQL Server file I get cannot connect to backend database error. Searching on the internet I found that I can prevent this by holding shift while opening the database.
Even though this does open the Access file, where I can see all the table,queries, forms, reports and macros icons and names. I cannot open any of them. When I press on one of the table names for example I get
Connection Failed SQL server does not exist or access denied' error.
How do I view the tables?
Your MS Access file is linked to a SQL Server. You basically need to
Install SQL Server Express (it's free)
https://www.microsoft.com/en-au/sql-server/sql-server-editions-express
Restore the .BAK file into SQL Server Express How to import a bak file into SQL Server Express
Relink all of the MS Access linked tables to your installed SQL Server
How does one change the connection string of linked tables in MS Access
This may seem complicated but it is a great opportunity to learn about databases.
Seems your friend is not very helpful.

Moving Access 2016 application's data from Access to SQL Server 2016

I have a seemingly straight forward project, which unexpectedly faces many obstacles.
I need to move backend data of the existing Access 2016 application from Access to SQL Server 2016.
The challenges I face are:
The simplest and recommended way to migrate Access to SQL Server is using Microsoft SQL Server Assistant (SSMA) for Access. The problem is that my Access is 32-bit Click-to-Run edition. Because the target is SQL Server 2016, I should use SSMA for Access v.7.6.0, which is available only in 64-bit. To use it, I need to install 64-bit Access Runtime, which could not be installed, because per the error message “Windows Installer and Click-to-Run editions of Office programs don't get along”. The earlier version of SSMA for Access 6.0 comes in 32-bit and connects to Access fine, but could not connect to SQL Server 2016, as 2014 is the latest version it supports. Ignoring the warning and forcing the connection to SQL Server 2016 causes error collecting data… Thus, I could not use SSMA.
I was able to migrate the data from Access to SQL Server using SSIS. Now, my challenge is to repoint existing Access tables to their SQL Server copies. I was trying link, but it appears that existing Access tables could be linked only to the file system data source. If I try to make link from the SQL Server side, I could only create new linked tables, which do not do me much good as I am trying to avoid massive changes in the application. Could it be that I am missing something simple here?..
Some Access tables have columns of attachment data type. SSIS doesn’t handle attachment data type correctly. To the best of my knowledge, neither does SSMA. So, when I get to link Access tables to SQL Server, I would probably need to write some code to move attachments from the backup Access database to SQL Server. Is there some other an easier solution?
Any suggestions are greatly appreciated.
That is correct. It is a mess. You can use another (virtual) machine with a clean 64-bit Access install.
Delete the current tables in the frontend and link the SQL Server tables. They may be given a "dbo_" prefix which you can remove by renaming the tables.
This is a rewrite. Attachment fields are not supported in SQL Server. Neither are other fancy features like lookup fields and multivalue fields.

SSIS 2012 (SQL Server Data Tool) how to import data from Ms Access 2010

I need to import some data from Ms Access to SQL Server 2008 R2 and SQL Server 2012. One of the requirements is to use SSIS so we can generate and schedule a package to run at a later stage.
When I create a Data Flow task, the Source Assistant Wizard is not able to locate the Ms Access database file (accdb). There is no option on the list to select Ms Access or OLE provider. I was able to create a connection to the Access db in Connection Managers but again I cant work out how to use that connection as a data source. Any assistant would be greatly appreciated

Issues with Access 2003 project in using SQL Server 2005

Our company has a Access 2003 project that runs on a SQL Server 2000 database. We installed SQL Server 2005 on a new box and migrated the database from SQL 2000 to SQL 2005. The Access 2003 project is now pointing to the new database. After the upgrade the Access 2003 project fails when trying to execute a stored procedure. Upon investigation an error message is presented saying that the stored procedure does not exist. When I view the available stored procedures the names appear but with a ;1 a the end.
Is this an issue of incompatibility between Access 2003 and SQL Server 2005 or could I have done something incorrectly during the migration?
I saw another post which mentioned upgrading to Access 2007. Is this a possible solution?
The postfix number is an arcane feature of SQL Server going back years - it allows you to create multiple procedures with the same name (yeah, like that's not going to confuse anyone ever).
It's deprecated so it's hardly ever seen but whatever process your migration did seems to have caused it.

Sybase ASE OLE DB Connection in SQL Server Integration Services 2005

I am building a SQL Server 2005 Integration Services package to migrate data from a Sybase Adaptive Server Enterprise 12.5.4 database to a SQL Server 2005 Database. The Sybase Database is the backend for a vendor product which our team does not have the authority to change or manage.
In my initial stages of development, to access the Sybase database, I created a SQL Server Linked Server utilizing the Microsoft OLE DB Provider for ODBC Drivers on my destination database server. With this linked server created, I created my SSIS package with a single Data Source - connecting to the MS SQL Server "Destination" Database. Next, in my SSIS package data flow tasks, I configured the OLE DB Source to access single Data Source defined in the package, using SQL commands to access the source linked server (simply using SELECT col1, col2, col3 FROM [SybaseLinkedServer].[Database].dbo.[Table]). The OLE DB Destination within the data flow task utilizes the same connection manager as the OLE DB Source, but makes use of the Table or view - fast load Data access mode.
Later, in the project, I obtained the Sybase ASE OLE DB Provider (The v12.5.4 OLE DB Provider was no longer available, we had to purchase the v15.7 ASE SDK). Thinking that removing the Linked Server from the solution would improve performance, I modified the SSIS package to include a new OLE DB Data Source utilizing the Sybase ASE OLE DB Provider to access the Sybase Database directly, and modified the OLE DB Source to use the new ASE OLE DB Data Source with the Table or View Data access mode.
To my surprise, switching the solution from the Linked Server using the OLEDB Provider for ODBC Drivers to the direct OLEDB connection using the Sybase ASE OLEDB Provider produced significantly poorer results, far from my expectations. The results from test runs using each method are available at this hyperlink.
Has anyone experienced this type of issue and/or is this behavior to be expected? Is there a better way to configure this to extract data from Sybase ASE to MS SQL Server 2005?
i had the exact same issue and i ended up using linked server to connect to sybase because it was the fastest way and most reliable, i had great difficulty trying to connect to sybase using SSIS sql 2008 directly.
even though i was able to connect to sybase using Sql 2000 DTSs.
but there is a very interesting driver provided by datadirect
http://www.datadirect.com/products/other/ssis/index.html
i downloaded it and tried it for 30 days, and it was amazing fast and very easy
its very light when comparing it with sybase drivers, i mean not much to install and it works very good with SSIS.