标签: dbf

使用Visual Fox Pro OleDb

我试图使用C#将数据从DBF文件中提取到我的程序中.我正在使用Visual FoxPro OLE DB提供程序.它在我的本地机器上工作正常,但我想将我的程序打包成客户端可以使用的DLL.问题是,当他们从他们的机器运行程序时,它说Visual FoxPro OLE DB提供程序没有在他们的机器上注册.有没有办法在没有客户端在他们的机器上安装Visual FoxPro OLE DB提供程序的情况下使用它?

c# foxpro dbf visual-foxpro

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

如何使用Delphi读取64位操作系统上的DBF文件?

使用Delphi,现在64位操作系统不再支持Microsoft Jet驱动程序,从DBF/DBase文件读取的最佳方法是什么?

delphi 64-bit dbf

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

如何重命名文件和更改文件类型?

我有一个列表,.dbf其中包含我想要更改为.csv文件的文件.我用excel手动打开它们并重新保存它们.csv,但这需要花费太多时间.

现在我创建了一个更改文件名的脚本,但是当我打开它时,它仍然是一个.dbf文件类型(虽然它被调用.csv).如何以文件类型也发生变化的方式重命名文件?

我的脚本使用(dbf和csv文件名列在单独的csv文件中):

IN = dbffile name
OUT = csvfile name

for output_line in lstRename:
    shutil.copyfile(IN,OUT)
Run Code Online (Sandbox Code Playgroud)

python csv excel dbf rename

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

使用可从Excel读取的C#代码创建.DBF(VFP与否)

语言:C#,系统:Windows7,Excel 2007

我想从一些数据创建.DBF,我想从Excel 2007打开它.它可以是dBase或foxpro.我目前正在使用FoxPro9(顺便说一句,这段代码来自互联网):

 OleDbConnection con = new OleDbConnection("Provider=VFPOLEDB.1;Data Source=C:\\Temp\\;");
            con.Open();
            OleDbCommand cmd1 = new OleDbCommand("Create Table TestDBF (Field1 I, Field2 C(10))", con);
            OleDbCommand cmd2 = new OleDbCommand("Insert Into TestDBF Values (1, 'Hello')", con);
            OleDbCommand cmd3 = new OleDbCommand("Insert Into TestDBF Values (2, 'World')", con);
            cmd1.ExecuteNonQuery();
            cmd2.ExecuteNonQuery();
            cmd3.ExecuteNonQuery();
            con.Close();
Run Code Online (Sandbox Code Playgroud)

这会生成我可以在DbfViewer中打开的文件,但是,我无法在Excel 2007中打开它,也不能在我拥有的某些应用程序中使用.我可以使用DbfViwer手动将FoxPro .dbf转换为dbaseIII dbf,但我希望它是自动的.

有任何想法吗?

提前致谢

c# excel dbf dbase visual-foxpro

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

Php,odbc和vfp

我正在尝试使用php连接dbf数据库.我尝试了几种不同的方式,没有运气.

PHP:5.3.8文件:C:\ xampp\htdocs\work\vcabdoc.dbf

第一种方式:

创建数据源dbvfp,驱动程序C:\ Windows\system32\vfpodbc.dll

用过的 $odbc = odbc_connect ('dbvfp', '', '') or die('Could Not Connect to ODBC Database!');

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Visual FoxPro Driver]File c:\xampp\htdocs\work\vcabdoc.dbf is not a database., SQL state S1000 in SQLConnect in C:\xampp\htdocs\WORK\odbc.php on line 5
Run Code Online (Sandbox Code Playgroud)

第二种方式:

include('\xampp\php\PEAR\adodb\adodb.inc.php');
include_once('\xampp\php\PEAR\adodb\adodb-pager.inc.php');
session_start();
$db = ADONewConnection('vfp');
$dsn="Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=C:\\xampp\\htdocs\\work\\vcabdoc.dbf;Exclusive=No;";
$db->Connect($dsn) or die('nope');
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$query = "Select * from vcabdoc.dbf";
$rs = $db->Execute($query);
echo 'e';
while (!$rs->EOF) {
    print_r($rs->fields);
    $rs->MoveNext();


Notice: Trying to get property …
Run Code Online (Sandbox Code Playgroud)

php dbf dbase visual-foxpro

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

c#应用程序保存文件,即使我已经完成了它的工作

我有一个ado.net代码列表:

OleDbConnection oconn = new OleDbConnection();
                //   oconn.ConnectionString ="Driver={Microsoft Visual FoxPro Driver};Provider=vfpoledb.1;SourceType=DBF;SourceDB=" + pelna_sciezka + ";Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
                oconn.ConnectionString = "Provider=vfpoledb.1;Data Source=" + pelna_sciezka + ";Collating Sequence=machine";
                oconn.Open();
                OleDbCommand ocmd = oconn.CreateCommand();
                string na = TBNazwaKonta.Text.Replace("\n","");
                na = na.Replace("\r","") ;
                string ks2 = ks.Replace("\n","");
                ks2 = ks2.Replace("\r", "");
                 OleDbCommand dbCmdNull = oconn.CreateCommand();
                dbCmdNull.CommandText = "SET NULL OFF";
                dbCmdNull.ExecuteNonQuery();                
                string zapytanie = @"insert into " + @pelna_sciezka + @" (rk, Na,Ks) values (0,'" + na + "','" + ks2 +"')";
                ocmd.CommandText = …
Run Code Online (Sandbox Code Playgroud)

.net c# connection ado.net dbf

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

打开dbf文件时出错:外部表格不是预期的格式

我正在使用下面的代码导入dbf文件.

但我收到一个错误:

'外部表不是预期的格式'

if (ofdDBF.ShowDialog()==DialogResult.OK) 
{ 
   string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ofdDBF.FileName.Substring(0, ofdDBF.FileName.LastIndexOf("\\")) + ";Extended Properties=dBASE IV;";     
   OleDbConnection conn = new OleDbConnection(connStr); 
   conn.Open();

   string cmd_string = "select * from " + ofdDBF.SafeFileName.Substring(0, ofdDBF.SafeFileName.IndexOf(".")); 
   MessageBox.Show(cmd_string); 
   OleDbDataAdapter da = new OleDbDataAdapter(cmd_string, conn); 
   DataSet ds = new DataSet(); 
   da.Fill(ds); 
   dgvImport.DataSource = ds.Tables[0]; 
} 
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

.net c# dbf

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

使用Python将dbf转换为sqlite不会填充表

我已经在这个问题上挣扎了一个多小时了.我正在尝试使用dbf表创建一个Sqlite数据库.当我创建一个从dbf派生的记录列表以用作Sqlite executemany语句的输入时,Sqlite表将显示为空.当我尝试以交互方式使用Python复制问题时,Sqlite执行成功.从dbf生成的列表在我运行时填充 - 所以问题在于executemany语句.

import sqlite3
from dbfpy import dbf

streets = dbf.Dbf("streets_sample.dbf")

conn = sqlite3.connect('navteq.db')

conn.execute('PRAGMA synchronous = OFF')
conn.execute('PRAGMA journal_mode = MEMORY')

conn.execute('DROP TABLE IF EXISTS STREETS')

conn.execute('''CREATE TABLE STREETS
    (blink_id CHAR(8) PRIMARY KEY,
    bst_name VARCHAR(39),
    bst_nm_pref CHAR(2));''')

alink_id = []
ast_name = []
ast_nm_pref = []

for i in streets:
    alink_id.append(i["LINK_ID"])
    ast_name.append(i["ST_NAME"])
    ast_nm_pref.append(i["ST_NM_PREF"])

streets_table = zip(alink_id, ast_name, ast_nm_pref)

conn.executemany("INSERT OR IGNORE INTO STREETS VALUES(?,?,?)", streets_table)

conn.close()
Run Code Online (Sandbox Code Playgroud)

python sql dbf

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

在python中将dbf转换为csv的方法?

我有一个文件夹,里面有一堆我想转换为 csv 的 dbf 文件。我曾尝试使用代码将扩展名从 .dbf 更改为 .csv,当我使用 Excel 时,这些文件可以正常打开,但是当我在 Pandas 中打开它们时,它们看起来像这样:

                                                s\t?
0                                                NaN
1            1       176 1.58400000000e+005-3.385...
Run Code Online (Sandbox Code Playgroud)

这不是我想要的,那些字符不会出现在真实文件中。
我应该如何正确读取 dbf 文件?

python csv dbf pandas

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

读取具有锈蚀的.dfb文件会引发无效字符错误

我刚接触锈并创建POC来将dbf文件转换为csv。我正在.dbf使用rust库dbase读取文件。

问题是,当我.dbf使用dbfview创建样本文件时,代码工作正常。但是,当我使用.dbf 实时使用的文件时。我收到以下错误。

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: InvalidFieldType('M')', src/libcore/result.rs:999:5
Run Code Online (Sandbox Code Playgroud)

这是我从给定链接使用的代码。

use dbase::FieldValue;
let records = dbase::read("tests/data/line.dbf").unwrap();
for record in records {
    for (name, value) in record {
        println!("{} -> {:?}", name, value);
        match value {
            FieldValue::Character(string) => println!("Got string: {}", string),
            FieldValue::Numeric(value) => println!("Got numeric value of  {}", value),
            _ => {}
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这些^M显示的字符由附加windows。我该怎么办以解决此错误并成功读取文件。任何帮助都感激不尽。

dbf dbase rust

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

标签 统计

dbf ×10

c# ×4

dbase ×3

python ×3

visual-foxpro ×3

.net ×2

csv ×2

excel ×2

64-bit ×1

ado.net ×1

connection ×1

delphi ×1

foxpro ×1

pandas ×1

php ×1

rename ×1

rust ×1

sql ×1