导出到 dbf 文件时如何设置列名的最大长度
How to set maxlength of column name while export to dbf file
我正在将数据表导出到 dbf 文件。
如果我有大列名,dbf 文件可以导出到前 10 个字符。
为什么会这样?
using (var dBaseConnection = new OleDbConnection(
@"Provider=Microsoft.Jet.OLEDB.4.0; " +
@" Data Source=C:\Users\RobertWray\Documents\dBase; " +
@"Extended Properties=dBase IV"))
{
dBaseConnection.Open();
string createTableSyntax =
"Create Table Person " +
"(Name char(50), CustomerReference char(50), Phone char(20))";
var cmd = new OleDbCommand(createTableSyntax, dBaseConnection);
cmd.ExecuteNonQuery();
}
是否有任何设置可以导出更多长度的列名?
没有
DBF 文件对列长度有限制,该限制为 10
。如果抽象出对文件的所有访问权限,则可以在不同的层中进行映射(使 DBF 中的实际列名只是缩短的 ID);如果你直接写"SQL",那你就倒霉了。
为什么会有限制? DBF 旧。你今天为什么要使用 DBF?也许有更好的嵌入式数据库适合您的用例?
我正在将数据表导出到 dbf 文件。 如果我有大列名,dbf 文件可以导出到前 10 个字符。
为什么会这样?
using (var dBaseConnection = new OleDbConnection(
@"Provider=Microsoft.Jet.OLEDB.4.0; " +
@" Data Source=C:\Users\RobertWray\Documents\dBase; " +
@"Extended Properties=dBase IV"))
{
dBaseConnection.Open();
string createTableSyntax =
"Create Table Person " +
"(Name char(50), CustomerReference char(50), Phone char(20))";
var cmd = new OleDbCommand(createTableSyntax, dBaseConnection);
cmd.ExecuteNonQuery();
}
是否有任何设置可以导出更多长度的列名?
没有
DBF 文件对列长度有限制,该限制为 10
。如果抽象出对文件的所有访问权限,则可以在不同的层中进行映射(使 DBF 中的实际列名只是缩短的 ID);如果你直接写"SQL",那你就倒霉了。
为什么会有限制? DBF 旧。你今天为什么要使用 DBF?也许有更好的嵌入式数据库适合您的用例?