在c#中创建的dbf文件无法在dbase中打开

问题描述:

我使用OdbcConnection创建了一个带有C#代码的.dbf文件,但是当我想用dbase打开它时,它说这不是dbf文件,任何人都可以解释为什么和它如何工作?在c#中创建的dbf文件无法在dbase中打开

+0

有与数据库文件相关联的文件头的不同版本...... dBase,FoxPro(旧版本)和Visual FoxPro。你能否向我们展示连接(隐藏私人路径信息)以及用于创建表的命令。另外,你真的试图从dBASE打开吗?哪个版本也是。 – DRapp 2013-03-13 20:37:13

+0

我必须用dBase打开它,因为另一个应用程序(在25年前在DOS下创建)也使用它。连接是ODBCConnection(DSN = CodeBase; DBQ = C:\ Temp)和commande是CREATE TABLE CENTRALE(DATE DATE,PERS NUMERIC(5,0),SERVICE NUMERIC(12,2)) – 2013-03-14 10:24:13

+0

事实上,我必须修改一个表的结构,因为我不能使用ALTER TABLE,我不得不删除和创建与列添加表,但每次我创建时,DBF文件被损坏...不仅DBase不能打开它,但它总是被打断.... – 2013-03-14 10:30:54

从您的意见,这听起来像dBase III Plus的东西。我甚至不相信ODBC甚至在80年代末90年代早期存在。回到目前为止,dBASE甚至没有“数据库”,但所有的表格实际上都是*的,作为开发人员,您可以编码您的关系来添加记录,建立密钥等。

什么您可能想要做的只是根据您期望从dBASE直接获得的格式创建一个表格,并将其放在保存文件夹中为空。然后,当你需要它时,复制到目标目录并从那里运行。

第二个选项...转到Microsoft并下载他们的“VFP Ole DB提供程序”并尝试使用它。您也可以尝试执行ExecNonQuery并尝试类似于

use SomeTable 
copy to YourNewTable type foxplus 

这可能是最接近dBase输出的输出。