- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 dbf 数据库与 php 连接起来。我尝试了几种不同的方法,但没有成功。
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
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 of non-object in C:\xampp\htdocs\WORK\testing.php on line 45
Notice: Trying to get property of non-object in C:\xampp\htdocs\WORK\testing.php on line 46
Fatal error: Call to a member function MoveNext() on a non-object in C:\xampp\htdocs\WORK\testing.php on line 47
$conn = new COM("ADODB.Connection");
$conn->Open('Provider=VFPOLEDB.1;Data Source="C:\\xampp\\htdocs\\work\\vcabdoc.dbf;";');
// SQL statement to build recordset.
$rs = $conn->Execute("SELECT * FROM vcabdoc");
echo "<p>List of couriers:</p><hr>";
// Display all the values in the records set
while (!$rs->EOF) {
$fv = $rs->Fields("Name");
echo $fv->value."<br>\n";
$rs->MoveNext();
}
$rs->Close();
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft OLE DB Provider for Visual FoxPro<br/><b>Description:</b> Invalid path or file name.' in C:\xampp\htdocs\WORK\testing.php:54 Stack trace: #0 C:\xampp\htdocs\WORK\testing.php(54): com->Open('Provider=VFPOLE...') #1 {main} thrown in C:\xampp\htdocs\WORK\testing.php on line 54
在这种情况下,尝试使用和不使用双斜杠 (\)。
有什么帮助吗?提前致谢。
问候,
若昂
最佳答案
您正在设置的数据源包含 .DBF 的全名...不要那样做。数据源应该只指向表所在的物理目录......然后,当您向表发出查询时,它会根据您正在查询的名称在路径中查找 .dbf,找到它并返回它...另外,您不需要显式包含 .dbf,例如
从 YourTable.dbf 中选择 *
根据反馈编辑
您正在打开的“连接”有一个数据源。那就是告诉它应该在哪里找到数据。当连接到 VFP 源时,您所要做的就是将源设置为表的物理路径。请注意,我刚刚从字符串参数中删除了“VCABDOC.DBF”。
$conn->Open('Provider=VFPOLEDB.1;Data Source="C:\\xampp\\htdocs\\work;";');
现在,您应该能够直接从位于“c:\xampp\htdocs\work”文件夹中的表进行查询。
$rs = $conn->Execute("SELECT * FROM vcabdoc");
最后,假设您的“c:\xampp\htdocs\work”文件夹中有多个 .dbf 表。假设有一个简单的客户/订单输入系统,并且您想获得特定人员的所有订单。只要两个表都在同一个文件夹中(即:work),那么你就可以做类似的事情
$rs = $conn->Execute(
"SELECT customer.*, orders.*
FROM customer
join orders on customer.ID = orders.customerID
order by orders.date");
请注意,我没有明确地将完整路径加上表名放入查询中。连接知道它将在何处尝试查找表以完成查询。此外,您的连接不允许您向后移动相对路径(更接近 C:),但允许您相对向前移动。所以,假设你有一个类似于
的目录结构c:\xampp\htdocs\work\
c:\xampp\htdocs\work\SubFolder1
c:\xampp\htdocs\work\SubFolder2
然后您将连接指向原始示例中的“工作”文件夹。您可以查询引用查询中的子文件夹。在此查询中,我在每个表名引用后使用了一个“别名”,因此我不必在查询的其余部分使用的地方显式键入长表名。它更易于阅读。
("c" is alias to customers table)
("sft1" is alias to Sub-folder first table )
("sft2" is alias to Sub-folder second table )
select
c.*,
sft1.someField,
sft2.AnotherField
from
customers c
join SubFolder1\SomeOtherTable sft1
on c.SomeCommonColumn = sft1.SameCommonColumn
join SubFolder2\SecondTable sft2
on c.ADifferentColumn =sft2.SimilarPurposeColumn
希望这有助于为您澄清一些事情。
关于php、odbc 和 vfp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9740869/
语言:C#,系统:Windows7,Excel 2007 我想从一些数据创建一个 .DBF,我想从 Excel 2007 打开它。它可以是 dBase 或 foxpro。我目前在 FoxPro9 中做
我正在尝试将 dbf 数据库与 php 连接起来。我尝试了几种不同的方法,但没有成功。 PHP:5.3.8文件:C:\xampp\htdocs\work\vcabdoc.dbf 第一种方式: 创建数据
“为 Thumb 编译”和 VFP 代码如何相互关联? 在 iPhone 2G/3G 上,我知道 Thumb 指令集不包括浮点计算(在 3GS 上,Thumb2 显然有..)。那么,如果针对 thum
如何用select命令显示备注字段的内容?如果我有一个包含以下字段的表(供应商):id_vendor C(10),地址 M 并且我想显示所有带有“select * from vendors”的内容,我
我需要根据邮寄信息在 VFP 中创建唯一的记录 ID:zip5、地址、姓氏、名字。创建后,关系表将使用唯一 ID 加载到 SQL Server 7 中。任何建议? 最佳答案 您可以使用 GUID:GU
我需要以某种方式提取父/子表之间的所有关系。有没有办法使用 DBC 对象来做到这一点? 最佳答案 抱歉大家,我多年来都忘记了,但经过一番思考后我想到了...... OPEN DATABASE ABC
在本文档中: http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301g/DDI0301G_arm1176jzfs_r0p7_trm.pdf 第
过去几天我一直遇到这个问题,我无法理解这里到底发生了什么,或者问题是什么。 我有一个带有这些标志的 makefile: CC = arm-linux-gnueabihf-gcc-4.6 FLAGS =
我正在尝试为 DBF 文件(Visual Fox Pro)创建 SQL 参数化更新命令 我不知道为什么,但我在“DbCommand.ExecuteNonQuery();”上有一个“语法错误”。 异常错
我想使用 Google NDKv8b 附带的工具链 (gcc-4.6) 将 double 寄存器 (d8) 的值加载到 ARM 平台上的 C 变量中。我的 ARM 机器是三星 Galaxy S2(它有
我想知道什么是 VFP9 相当于 mySQL 'NOT IN'。 给你确切的目的。我有两个表,我想显示表 1 中没有出现在表 2 中的所有数字。 TABLE1 1 2 3 4 5 6 7
目前我正在尝试为 ARM 架构构建 Buddhabrot但是当我收到以下错误时,我陷入了困境。我希望有人能提供帮助。 libOpenCL.so uses VFP register arguments,
我想了解更多 Android 手机上使用的 CPU。原因是我们正在构建 C 库,它具有我们可以设置的某些 CPU/数学处理器架构标志。 到目前为止,我们发现所有 Android 设备的 CPU 都是
我知道 64 位机器上的 VFP OLEDB 提供程序存在问题。 ...但是您在实际运行 VFP 应用程序时会遇到什么问题 - 在 64 位机器上?有没有人有这方面的经验? 我的第一个想法是它只会作为
在ARM Cortex-A8处理器中,我明白什么是NEON,它是一个SIMD协处理器。 但是VFP(矢量浮点)单元也是一个协处理器,它可以用作SIMD处理器吗?如果是这样,哪个更好? 我读了一些链接,
我们有一个创建许多 Visual Foxpro (DBF) 表的应用程序。这些表中的每一个都有不同的架构,但它们都包含一个已知的日期字段。 我被要求创建另一个应用程序(在 C# 中),它将上周的数据从
我尝试使用以下代码将分隔文本附加到 Fox 表: OleDbConnection oledbConn = new OleDbConnection(String.Format(@"Provider=VF
我正在尝试将多个 Visual Fox Pro 9.0 应用程序从 Win 2003 迁移到 Win 2008 R2 64 位服务器。 登录的用户与计划运行任务的用户相同。 当应用程序手动运行时(浏览
因此通过查询 sysctlbyname("hw.cpusubtype", ...) 可以很容易地弄清楚 iOS 设备运行的是哪种 CPU,但似乎没有明显的方法可以弄清楚找出 CPU 实际具有的功能(想
使用 VFP 9,我使用 group(DBF 中的一列)索引了一个 DBF 文件 INDEX ON group TO group1 并且记录的顺序是正确的。但是,每当我关闭并重新打开 DBF 时,索
我是一名优秀的程序员,十分优秀!