标签: dbf

将visual foxpro dbf表批量转换为csv

我有大量的视觉foxpro dbf文件,我想转换为csv.(如果您愿意,可以在此处下载部分数据.点击2011年的交易数据链接,准备等待很长时间......)

我可以使用DBF View Plus(一个非常棒的免费软件实用程序)打开每个表,但是将它们导出到csv每个文件需要几个小时,我有几十个文件可以使用.

是否有像DBF View plus这样的程序可以让我设置一批dbf-to-csv转换来在一夜之间运行?

/编辑:或者,是否有一种将.dbf文件直接导入SQL Server 2008的好方法?它们都应该进入1个表,因为每个文件只是来自同一个表的记录的子集,并且应该具有所有相同的列名.

csv foxpro etl dbf visual-foxpro

2
推荐指数
1
解决办法
7206
查看次数

如何用PHP阅读FoxPro备忘录?

我必须将.DBF和.FPT文件从Visual FoxPro转换为MySQL.现在我的脚本适用于.DBF文件,它打开并使用dbase_open()和dbase_get_record_with_names()读取它们,然后执行MySQL INSERT命令.

但是,这些.DBF文件的某些字段属于MEMO类型,因此存储在以.FPT结尾的单独文件中.我该如何阅读此文件?

我在MSDN中找到了这个文件类型的规范,但我不知道如何用PHP按字节顺序读取这个文件(另外,我更喜欢简化的解决方案).

有任何想法吗?

php mysql foxpro dbf

1
推荐指数
1
解决办法
6722
查看次数

如何使用Odbc在.DBF文件上使用事务?

我在这里使用.dbf文件有问题.我可以进行CRUD操作,但是当我尝试使用事务时,我得到一个例外.我这样做:

    public void AddRolesToUser(string user, string[] roles)
    {
        using (OdbcConnection connection = new OdbcConnection(ConnectionString))
        {
            OdbcCommand command = new OdbcCommand();
            OdbcTransaction transaction = null;
            command.Connection = connection;
            try
            {
                connection.Open();
                transaction = connection.BeginTransaction();
                command.Connection = connection;
                command.Transaction = transaction;
                command.CommandText = "Delete From Roles Where User='" + user + "'";
                command.ExecuteNonQuery();
                if (roles != null)
                {
                    foreach (string role in roles)
                    {
                        command.CommandText = "Insert Into Roles(User, Role) Values('" + user + "', '" + role + "')";
                        command.ExecuteNonQuery();
                    } …
Run Code Online (Sandbox Code Playgroud)

.net c# odbc dbf

1
推荐指数
1
解决办法
1741
查看次数

有没有一种方法可以在没有外部库的情况下用Java处理DBF文件?

我需要接收 DBF 格式的输入文件(我相信它是通过 Foxpro 制作的)并按顺序读取记录进行处理。

有没有什么方法可以在 Java 中做到这一点而不使用外部库?

谢谢。

(我只是尽可能避免使用外部库,因为我仍然需要获得批准)

java dbf

1
推荐指数
1
解决办法
1万
查看次数

为什么 dbase 会以 3 个不同的扩展名(*.mdx、*.dbf、*.dbt)保存同名文件?

我找到了一个旧的 dbase 数据库。每个“表”有3个同名但扩展名不同的文件。

例子:

  • 用户.mdx
  • 用户.dft
  • 用户数据库

为什么这些不同。我可以轻松打开和使用 .dft 文件。我可以忽略其他的吗?或者我会因此丢失任何数据吗?

dbf dbase

1
推荐指数
1
解决办法
197
查看次数

如何从.NET应用程序更新.dbf文件

我想从我的.net应用程序更新.dbf文件.我能够将.dbf文件读入网格,但无法从我的.net应用程序更新.dbf文件.

我使用以下代码来读取.dbf文件.读书还可以.但是,无法更新.dbf文件.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Data.Odbc;

namespace DBFwin
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void ConnectToDBF()
    {            
        System.Data.Odbc.OdbcConnection oConn = new System.Data.Odbc.OdbcConnection();
        oConn.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=D:\databases\;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
        oConn.Open();
        System.Data.Odbc.OdbcCommand oCmd = oConn.CreateCommand();

        //Test.DBF is the dbf file which is located at C:\rd\Setup folder.
        oCmd.CommandText = @"SELECT * FROM C:\rd\Setup\Test.DBF";

        DataTable dt = new DataTable();
        dt.Load(oCmd.ExecuteReader());

        //Adding …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net dbf

0
推荐指数
1
解决办法
7166
查看次数

错误复制DBF/MDX文件

我使用以下代码将dbf/mdx文件从一个文件夹复制到另一个文件夹:

procedure TfrmMain.MyCopyFile(S1, S2: string);
begin
   if not FileExists(S2) then
      CopyFile(PCHAR(S1), PCHAR(S2), true)
   else
      if Application.MessageBox(PCHAR('Overwrite existing file ' + S2 + '?'), 'File exists in folder',MB_YESNO + MB_DEFBUTTON1) = IDYES
          then CopyFile(PCHAR(S1), PCHAR(S2), false)
end;
Run Code Online (Sandbox Code Playgroud)

当表名保持不变时,代码工作正常.

如果我更改表的名称:

    MyCopyFile(CurPath + '\orders.dbf', NewPath + '\ordly.dbf');
    MyCopyFile(CurPath + '\orders.mdx', NewPath + '\ordly.mdx');
Run Code Online (Sandbox Code Playgroud)

当我尝试打开ordly.dbf时收到错误消息:

损坏的表/索引标题.
文件:C:\ DATA\2011\ORDLY.MDX

delphi dbf

0
推荐指数
1
解决办法
987
查看次数

将 DBF 转换为 CSV

我有许多 DBF 数据库文件,我想将它们转换为 CSV。有没有办法在 Linux 或 PHP 中做到这一点?

我找到了几种转换 DBF 的方法,但它们非常慢。

php csv dbf export-to-csv

0
推荐指数
1
解决办法
5138
查看次数

VisualFoxPro STRTRAN()以奇怪的方式工作

我正在尝试在用户选择网络名时显示用户图像,但是当我尝试查找他们的图像时,我会收到一条错误消息,例如;

 Could not find file 'S:\Picture\Chris               .jpg'.
Run Code Online (Sandbox Code Playgroud)

你可以告诉你有很多空格,所以我尝试了这个,其中每个空格都将在netname中用"a"替换;

 string dbfQuery = "SELECT em_pplid, em_name, STRTRAN(em_netname, ' ', 'a'), em_surname FROM employs WHERE em_netname NOT LIKE ''";
Run Code Online (Sandbox Code Playgroud)

当然,我开始收到类似的新错误消息;

Could not find file 'S:\Picture\Chrisaaaaaaaaaaaaaaa.jpg'.
Run Code Online (Sandbox Code Playgroud)

您会立即认为更改STRTRAN(em_netname, ' ', 'a')STRTRAN(em_netname, ' ', '')将删除所有空格.虽然这在一定程度上起作用,但首先如果有一个以上的克里斯,例如"ChrisB"和"ChrisC",他们现在都变成了"克里斯".

为了增加这一点,一些空格不会被删除,例如我仍然会收到错误说;

Could not find file 'S:\Picture\YenT .jpg'.
Run Code Online (Sandbox Code Playgroud)

即在某些情况下仍然留有一个空间.

这有什么理由吗?我是否正确使用STRTRAN?我认为可能的一件事是,除了空格之外还有其他隐藏的,不可打印的字符,但不会用"a"替换它们留下空间?

c# dbf visual-foxpro

0
推荐指数
1
解决办法
433
查看次数

从c#执行dbf中的查询

我在C#中做一个程序,我试图在DBF文件中执行一个查询,我认为没问题,但DataReader的HasRows属性值为false.我认为问题在于日期.这是我的代码:

 string Con = @"Provider=VFPOLEDB.1;Data Source=\\Server\ges_01";
 OleDbConnection ConnectionHandler = new OleDbConnection(Con);
ConnectionHandler.Open();

 string SQL = "SELECT codalb FROM BALBARA WHERE FECALB BETWEEN CTOD('2015/12/07') AND CTOD('2015/12/13') AND CODCLI LIKE '%9' ORDER BY CODALB"
 OleDbCommand Query = new OleDbCommand(SQL, ConnectionHandler);
 OleDbDataReader datareader = Query.ExecuteReader();
while(datareader.Read())
{}
Run Code Online (Sandbox Code Playgroud)

我知道其余的都可以,因为如果把string SQL="select codalb from balbara";工作正常.

任何人都可以说我做错了什么

c# foxpro dbf

0
推荐指数
1
解决办法
1317
查看次数

标签 统计

dbf ×10

c# ×4

foxpro ×3

.net ×2

csv ×2

php ×2

visual-foxpro ×2

asp.net ×1

dbase ×1

delphi ×1

etl ×1

export-to-csv ×1

java ×1

mysql ×1

odbc ×1