Solved

Importing FoxPro .dbf table into SQL Server with VFPOleDB driver Errors

Posted on 2010-09-23
3
1,323 Views
Last Modified: 2012-05-10
I am having difficulty importing a FoxPro v7 .dbf file into SQL Server 2000 using the vfpoledb driver.  The foxpro table is approaching 2 GB in size and I am looking for a solution where I don't have to split these tables by migrating this data to SQL Server where there isn't this limit.  When trying to import through the DTS Import/Export Wizard and select "Microsoft OLE DB Provider for Visual FoxPro" for the datasource and select the free table I get the following errors a few seconds after it has begun the import process:

Error at Destination for Row number 1. Errors encountered so far in this task: 1. Insert error, column 62('date', DBTYPE_DBTIMESTAMP), status 6: Data overflow.  Invalid character value for cast specification.

Seems to be getting stuck on the Memofields (with the ODBC driver) and DateTime fields with the OleDB.  Can anyone provide direction on this?  Any suggestion for a good 3rd party tool?
0
Comment
Question by:RVL
3 Comments
 
LVL 41

Expert Comment

by:pcelba
ID: 33746917
DBF data access from SQL Server was always magic...

If you cannot import data on SQL then you may export them from VFP. It is just a simple loop:

Open connection to SQL Server
Open DBF file
Create table on SQL Server
Loop through DBF file
  Insert each record from DBF into SQL Server table
Close DBF
Close connection


You can, of course, investigate what values are incorrect for import via OLE DB. Try to import a few records only and then you may look at the data values or try to import more records etc. BTW, what is the SQL data type for DateTime field from VFP? You should use nullable DateTime.

0
 
LVL 14

Expert Comment

by:tusharkanvinde
ID: 33747246
dbf files can have blank dates. you will have to replace all blank dates with null before importing.

You can try http://vfpx.codeplex.com/releases/view/10224
0
 
LVL 29

Accepted Solution

by:
Olaf Doschke earned 250 total points
ID: 33747304
Most probably empty dates, which SQL Server cannot cope with. You either need to set empty dates to NULL or some ultimo date, eg 1/1/1900. Also SQL Server below 2008 does not know the date only field type.

Bye, Olaf.
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

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
Everyone has problem when going to load data into Data warehouse (EDW). They all need to confirm that data quality is good but they don't no how to proceed. Microsoft has provided new task within SSIS 2008 called "Data Profiler Task". It solve th…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed

707 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

14 Experts available now in Live!

Get 1:1 Help Now