powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Есть куча dbf нужно перевести её в Access
10 сообщений из 10, страница 1 из 1
Есть куча dbf нужно перевести её в Access
    #32621725
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поможите люди добрые, плз!
Есть очень большое кол-во файлов от FoxPro 2.6 (dbf) необходимо их конвертнуть скопом в Access. Вроде есть какая-то утиля, но забыл какая....
Если кто знает, подскажите плз...
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32621737
Фотография neal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или Access 97, потом A97->A2000/A2002
или через DTS SQL Server 2000 откуда угодно куда угодно.
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32622586
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файлов очень много. Боюсь как бы не к тысяче.... Месяц понадобится все открыть и пересохранить в Access. Так мона и загнутся...
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32622702
Kach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а их структура одинакова?
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32623553
Если нет МЕМО полей (FPT файлов) и кодировка DOS-овская, то файлы FoxPro 2.6 ничем не отличаются от dBase III. Можно в цикле выполнить TransferDatabase или специально настроенный запрос на создание таблицы, и закачать все файлы.
С МЕМО и/или ANSI кодировкой посложнее, но тоже решаемо.
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32626699
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dos кодировка. Memo полей до кучи....
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32626706
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Структура у них разная. Иначе не было бы смысла в такм большом числе файлов....
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32630567
Vlad007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня примерно такая же задача. Я делаю так - программа на C# читает файл с командами, управляющими файлом MDB (через автоматизацию и ADO.NET)
Программа:
// Необходимо Add Reference на Interop.Access.dll, которая находится в каталоге OBJ!
// Другие дополнительные ссылки - не нужны.

using System;
using System.Data.OleDb;
using System.IO;
using System.Data;
namespace CmdMdbC {
class CmdMdbC {
[STAThread]
static void Main(string[] args) {
string sFile = "Cmd.txt";
if(args.Length >0 ) sFile=args[0];
StreamReader rd = new StreamReader( new FileStream("Cmd.txt", FileMode.Open) ); //для чтения файла команд
string sMdb = rd.ReadLine();
OleDbConnection cn = new OleDbConnection();
OleDbCommand cmdUpd = cn.CreateCommand();

cn.ConnectionString = @"Data Source=""" + sMdb + @""";Provider=Microsoft.Jet.OLEDB.4.0";
try{
cn.Open();
}catch(Exception exc){
Console.WriteLine(exc.ToString());
}
while( (cmdUpd.CommandText = GetCmd(rd, cn)) != null ) {
Console.WriteLine(cmdUpd.CommandText);
try { cmdUpd.ExecuteNonQuery(); }
catch(Exception exc) { Console.WriteLine(cmdUpd.CommandText + " : \n" + exc.ToString()); cn.Close(); }
}
cn.Close();
Console.WriteLine("Всё!");
}
static string GetCmd(StreamReader rd, OleDbConnection cn) {
string[] sArr;
string sCmd;
A:
string s=rd.ReadLine();
if(s==null) return null;
s.Trim();
sArr=s.Split();
sCmd=sArr[0].ToUpper();
switch(sCmd){
case "IMPORT" :
cn.Close();
CmdImport(s, rd);
cn.Open();
goto A;
break;
}
return s;
}

static void CmdImport(string s, StreamReader rd) {
string sPath, sTable,sDbf;
string[] sArr;
int n;
Access.Application oAccess = null;
oAccess = new Access.ApplicationClass();

s=s.Substring(7);
n=s.IndexOf("|",0);
sPath=s.Substring(0,n);
sArr=sPath.Split('\\');
n=sArr.Length;
sDbf=sArr[n-1];
sPath=string.Join("\\",sArr,0,n-1);
sArr=s.Split('|');
sTable=sArr[1];
// Open a database in exclusive mode:
oAccess.OpenCurrentDatabase( @"c:\VTA\myDB.mdb", true, "" ); //Exclusive
oAccess.DoCmd.TransferDatabase( 0, "dBase III", @"C:\vta\", 0, sDbf, sTable, Type.Missing, Type.Missing);
oAccess.CloseCurrentDatabase();
}
}
}
//-----------------------------
Пример командного файла:

c:\VTA\myDB.MDB
Import C:\VTA\LK.DBF|Table1
Import C:\VTA\empl.dbf | Table2
...

Первая строка - имя MDB файла
Последующие - команды на импорт: имя dbf + имя создаваемой таблицы.
Успехов!
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32630568
Vlad007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу пардону, это не для MEMO полей...
...
Рейтинг: 0 / 0
Есть куча dbf нужно перевести её в Access
    #32630855
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуем C#
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Есть куча dbf нужно перевести её в Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]