Генерация DBF-файла dBase II в C # 3.5 - PullRequest
0 голосов
/ 30 сентября 2010

Я создаю файл dbf для импорта в устаревшие системы, которые принимают только dBase II ИЛИ III. Я использую .Net 3.5. Сначала я начал работать с этим компонентом VFPOLEDB.1, но он генерирует только файлы dbf в формате dBase V, который не имеет обратной совместимости.

Любой знает компонент или драйвер для создания файла de dbf в dBase II или III

Спасибо

Ответы [ 3 ]

1 голос
/ 01 октября 2010

Попробуйте выполнить вызов, чтобы выполнить сценарий, который открывает файл, а затем

COPY TO {некоторый файл} типа FOX2X

, который должен получить вывод ...

Был еще один пост о том, что все это делается через C # через VFPOleDB, и я постараюсь найти его ... Да, и с благодарностью @DaveB вот фрагмент его поста в Создание .DBFв коде C #, который читается из Excel (VFP или нет)

 string connectionString = @"Provider=VFPOLEDB.1;Data Source=C:\YourDirectory\"; 

    using (OleDbConnection connection = new OleDbConnection(connectionString)) 
    { 
        using (OleDbCommand scriptCommand = connection.CreateCommand()) 
        { 
            connection.Open(); 

            string vfpScript = @"USE TestDBF 
                                 COPY TO OldDBaseFormatFile TYPE Fox2x 
                                USE"; 

            scriptCommand.CommandType = CommandType.StoredProcedure; 
            scriptCommand.CommandText = "ExecScript"; 
            scriptCommand.Parameters.Add("myScript", OleDbType.Char).Value = vfpScript; 
            scriptCommand.ExecuteNonQuery(); 
        } 
    } 

Первоначальный пост был для кого-то, чтобы иметь возможность открыть файл в формате Excel.

0 голосов
/ 01 октября 2010

Формат ESRI Shapefile использует dBase III для хранения данных атрибутов.В проекте SharpMap есть достойная реализация, которую вы можете использовать самостоятельно (но с лицензией: это LGPL).

http://code.google.com/p/sharpmapv2/source/browse/trunk/SharpMap.Data.Providers/ShapeFileProvider/DbaseFile.cs

0 голосов
/ 30 сентября 2010

Я помню, как пытался сделать то же самое несколько лет назад и потерпел неудачу.Мое решение состояло в том, чтобы взять существующий файл dBase II, очистить все данные и сохранить этот пустой файл в качестве шаблона, когда мне нужно будет создать новую базу данных.

...