从 C# 创建一个宽度超过 254 的 DBF 字段

本文关键字:字段 DBF 一个 创建 | 更新日期: 2023-09-27 18:33:45

我需要更改.dbf字符字段的宽度,但如果有人知道如何创建它,我想我可以适应。

protected void CreateDbf()
    {
        using (var dBaseConnection = new OdbcConnection(@"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:'users'desenv'desktop"))
        {
            dBaseConnection.Open();
            string str0 = "Create Table FUNCTES (CODCRA char(400), REGFUN char(6), NOMFUN char(30), DTANAS date, STATUS logical, DESCRI memo)";
            var cmd = new OdbcCommand(str0, dBaseConnection);
            cmd.ExecuteNonQuery();
            dBaseConnection.Close();
        }
    }

它给了我这个错误:

错误 [42000] [Microsoft][Driver ODBC para dBase] O tamanho do campo 'CODCRA' é muito longo.

翻译最后一部分.."'CODCRA'字段的大小太大了。

我已经尝试使用其他提供程序和驱动程序来生成文件,但它不起作用。

所以如果有人能帮助我,我会很高兴。

我知道这在 Clipper 中使用函数 DBCREATE() 是可能的

从 C# 创建一个宽度超过 254 的 DBF 字段

它在 400 个字符的列上失败...dbase/vfp 表的列宽只允许 255 个字符。 之后,您必须使用自由格式的"备忘录"字段,可以保存文本或二进制。

我能想到的唯一其他可能性是SyBase的Database-Advantage服务器或LocalServer产品。 他们与 .DBF,但允许扩展它们,同时将数据保留为原始.dbf样式格式。 这可能是Sybase Advantage 数据库服务器链接的一个选项,但它们也有"本地服务器"版本,但找不到该下载链接。 您可能需要深入研究一下...但数据库服务器有 30 天的免费试用期。