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

时间:2014-12-10 12:11:11

标签: c# width field limit dbf

我需要更改.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();
        }
    }

它给了我这个错误:

  

ERROR [42000] [Microsoft] [Driver ODBC para dBase] O tamanho do campo   'CODCRA'émuitolongo。

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

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

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

我知道使用函数DBCREATE()

可以在Clipper中实现

1 个答案:

答案 0 :(得分:0)

400列的列失败... dbase / vfp表只允许255个字符作为列宽。之后,你必须使用一个自由格式的“备忘录”字段并且可以保存文本或二进制。

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