?
Solved

SQL 2008 64Bit and dBASE III Application

Posted on 2012-12-21
7
Medium Priority
?
1,656 Views
Last Modified: 2013-06-18
All, I am trying to link my SQL 2008 64bit server to a legacy dBase III program that we have on site using the linked servers in SQL.    After much reading on the internet and trial and error I have downloaded the ACE 64bit driver and I am using the following query:

EXEC sp_addlinkedserver @server = N'WINTAM', 
@srvproduct=N'DBF', @provider=N'Microsoft.ACE.OLEDB.12.0', 
@datasrc=N'\\servername\foldername\foldername\',
@provstr=N'DBASE IV' ;

Open in new window


This completes however when I go to test the connection I get an error that says the @datasrc is not a valid path.    I know the path is correct so it must be something different.

Currently I am using a SSIS job to upload information from this database hourly but I want to be able to update it in real-time so any other suggestions on how to do this are also welcome.
0
Comment
Question by:Earl Kelly
[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
7 Comments
 
LVL 27

Expert Comment

by:Chris Luttrell
ID: 38715059
Check the service account you have Integration Services running as and make sure it has access to the source path.  It sounds like a possible permission problem to me.
0
 
LVL 42

Expert Comment

by:pcelba
ID: 38720027
Even the 64 bit ACE.OLEDB driver does not recognize long path names...

You have to define the datasrc by 8.3 notation only:   d:\folder1\subfldr\

To obtain 8.3 names of your folders you may issue  DIR /x  in CMD window.
0
 
LVL 1

Author Comment

by:Earl Kelly
ID: 38720557
So the syntax is correct?     I tried both AND get the same this same error:  Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "WINTAM".
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "WINTAM" returned message "'\\server1\sharefolder\tam' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.". (.Net SqlClient Data Provider)

In your example above, you stated a drive connection.   I tried that as well and got the same message.   and where does the drive need to be connected on the sql server itself?
0
Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

 
LVL 42

Expert Comment

by:pcelba
ID: 38721001
8.3 path name does not include UNC pathes.

You should really test the format   d:\folder1\subfldr\   where "d:" represents one single disk drive letter.

To access DBF files on another computer is a little bit problematic task...

It means you have to place DBF files on the same computer where is the SQL Server Service running. The drive letter is C: or D: (etc.) then. The user under which is the SQL Server Service running must have full access to the folder where you placed DBF files and the folder name must be in 8.3 format in connection string.
0
 
LVL 16

Accepted Solution

by:
Kalpesh Chhatrala earned 2000 total points
ID: 38746648
0
 
LVL 42

Expert Comment

by:pcelba
ID: 38747091
Kalpesh, did you already use the Sybase 64 bit driver to read DBF tables from SQL Server?
0
 
LVL 1

Author Closing Comment

by:Earl Kelly
ID: 39257913
I couldn't get this to work.   I ended up creating a 32bit server and working from there.
0

Featured Post

AWS Certified Solutions Architect - Associate

This course has been developed to provide you with the requisite knowledge to not only pass the AWS CSA certification exam but also gain the hands-on experience required to become a qualified AWS Solutions architect working in a real-world environment.

Question has a verified solution.

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

Confronted with some SQL you don't know can be a daunting task. It can be even more daunting if that SQL carries some of the old secret codes used in the Ye Olde query syntax, such as: (+)     as used in Oracle;     *=     =*    as used in Sybase …
In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…

800 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