问题标签 [foxpro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
foxpro - 今天维护 Clipper 5.3 代码的最佳方法是什么?
在 DOS、Windows 或 Linux 上是否有任何后续产品?
c# - LINQ 与 FoxPro?
有没有一种合理的方法可以使用 LINQ 访问 FoxPro 数据库?
indexing - Visual FoxPro 紧凑索引文件格式
我试图了解 Visual FoxPro 紧凑索引 (*.IDX) 的文件格式。我目前正在参考Microsoft 的文档以获取指导。
索引是一个 512 字节节点的 B 树。每个叶(“外部”)节点包含多个条目。每个条目由四部分数据组成:
- 行号 [固定长度]
- 重复的字节数(文档没有解释这一点)[固定长度]
- 尾随字节数(文档没有解释这一点)[固定长度]
- 键[可变长度]
条目(没有它们的键)存储在节点的开头,紧跟在节点的 24 字节标头之后。它们的键不包含在此位置,因为键的长度不同,而行号、重复字节数和尾随字节数的长度是固定的。密钥存储在节点的末尾并向后工作。例如:
- 24 字节标头
- 行号、重复字节数、尾随字节数(条目 #1)
- 行号、重复字节数、尾随字节数(条目 #2)
- 行号、重复字节数、尾随字节数(条目 #3)
- ...
- 密钥(条目 #3)
- 密钥(条目 #2)
- 密钥(条目 #1)
如何确定密钥的各个长度?该文档似乎没有指定这一点。它们是完全连续的(没有空字节分隔符)。
我可以通过目视检查手动隔离键。我怀疑尾随字节数代表密钥的长度。但是,它与本次检查确定的长度无关。
我相信 FoxPro 文件格式源自 xBase 标准。也许这敲响了警钟?
foxpro - 在 VFP 8 中的 Vista 64 位上使用 SET PRINTER TO 时如何修复错误 1958
我们的 VFP 8 应用程序在执行以下代码行时返回错误 1958,即“加载打印机驱动程序时出错”
在客户 Vista Business 64 位笔记本电脑上。HP1200 是 HP 商务喷墨打印机型号 1200。
客户使用惠普最新的 64 位驱动程序移除并重新安装了打印机。我们还尝试在 FILE: 端口上添加一个新的 Generic / Text Only 打印机并改用它,但我们得到了同样的错误。因此,它并非特定于 HP 打印机驱动程序。
我们还尝试删除该SET PRINTER TO
行并仅执行 aREPORT FORM
命令,以便将其转到默认打印机,但我们没有得到任何输出。
客户有一台台式机,也是 64 Vista Business,安装了相同的打印机和驱动程序,我们没有看到相同的错误。他们确实在两台机器上运行 Avast 防病毒软件。
vb.net - 在 VB.net 2005 中打开 FoxPro 表
我需要使用 oledb 连接在 vb.net 中打开 foxpro 免费表。
但是...我只需要获取列名。我真的不需要“选择”任何东西。我正在尝试动态浏览我们所有的空闲表,并设置每个文件中每一列的列表,并将其外部参照到另一个包含每列描述的空闲表。
我现在有一个工作模型,但它要求我这样做......
但在最大的表上,仅读取第一条记录就需要两分钟多的时间,并且有超过 250 个表。总的来说,它需要 15 到 20 分钟。
或者,是否有另一种方法可以只获取表的第一条记录而不使用“ORDER BY”?
这是我到目前为止所拥有的。“文件”作为参数传入。
它将包含诸如“C:\data\table1.dbf”之类的信息
然后我获取数据表(dt)并循环获取列信息。
当我创建数据集并通过向导从目录加载所有表时,我希望它像 Visual Studio 一样快。它能够非常快速地找到所有列信息,而无需从表中读取数据。
如果您需要更多信息,请与我们联系。
谢谢。
sql-server - 失去与 SQL Server 2005 数据库的 ODBC 连接
我们的一个客户有一个运行在 SQL Server 2005 后端之上的应用程序 (FoxPro 9)。间歇性地,他们失去了与 SQL Server 数据库的 ODBC 连接。以下是初始错误信息:
错误消息:连接错误:[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionRead (recv())。
ODBC 错误消息:[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionRead (recv())。
SQL 状态:01000
ODBC 错误编号:10054
ODBC 句柄:1
FoxPro 错误编号:1526
我们无法在命令中复制此错误。我们尝试了任何数量的解决方案都无济于事。我们发现的一种此类硬件基础解决方案在以下网址中进行了描述:http: //support.microsoft.com/kb/942861/en-us
我提到这一点是因为它几乎完全符合我们所看到的。但是,我们已经实施了该帖子中列出的所有解决方法(以及在这个http://support.microsoft.com/kb/948496中) - 问题仍然存在。
此问题似乎在执行长时间运行的查询后出现,但我们没有收到来自应用程序或 SQL Server 的任何超时错误。我不相信这是空闲超时的结果,因为它有时会发生在执行程序的中间。
我不是硬件专家,但网络和服务器 (Windows Server 2003) 似乎都很快且设计良好。但是,有时数据库服务器会承受很大的压力。
如果有人对我们可以尝试的事情有任何建议……请告诉我们!
c# - 如何使用 .NET 提取 FoxPro 备忘录字段中的数据?
我正在编写一个 C# 程序来将 FoxPro 数据库转换为 XML,除了备注字段为空之外,一切正常。有什么我想转换的东西吗?
我正在使用 C# .Net 3.5 SP1、Visual FoxPro 9 SP 1 OLE DB 驱动程序。连接字符串没问题,因为所有其他数据都被正确提取。
当我将 FoxPro 数据库转换为 SQL Server 时,那里的备注字段也是空白的,所以我不能转换两次。
sql-server - VFP 唯一标识符是否与 Guid 相同?
我正在将 foxpro 数据库转换为 SQL Server,其中一些键是 VFP 生成的唯一标识符 - 我假设是 GUID。这些是有效的唯一标识符吗?
我可以只使用字节并将它们轻松转换为 SQL Server 中的唯一标识符吗?
谢谢,
克雷格
foxpro - 我可以从 foxpro 通用字段中提取文件吗?
我正在将 VFP 9 应用程序移植到 SQL Server。VFP 应用程序有一些表,其中包含“常规”字段。我在查询字段时得到一个字节数组,当我将它保存到磁盘时,我可以查看它是一个 word 文档,或者一个 Paint BMP 等。
通过阅读,我发现通用字段是一种专有格式,并包含文档预览的缩略图(除其他外,我敢肯定)。
有人可以指点我一些代码,这些代码首先会提取文件的类型,然后是我可以保存为原始文件的实际文件数据。(获取预览图像也很好。)
显然,在过去,有人在 foxpro 中编写了一个名为 GENTOFIL.PRG 的程序,这听起来像是将一般字段转换为文件。但是,谷歌在试图找到它时并没有多大帮助!
sql - 在实时环境中有效地将数据从一个 SQL 数据库转换到另一个
我们有一些混乱的数据库情况。
我们的主要后台系统是用 Visual Fox Pro 编写的,带有本地数据(是的,我知道!)
为了有效地处理我们网站中的数据,我们选择定期将数据导出到 SQL 数据库。但是,执行此操作的过程基本上每次都会清除表并重新插入。
这意味着我们有两个 SQL 数据库——一个是 FoxPro 导出过程写入的,另一个是我们的网站读取的。
这个问题与从一个 SQL 数据库到另一个(SqlFoxProData -> SqlWebData)的转换有关。
对于一个特定的表(我们的主要应用程序表之一),因为在这个过程中会发生各种数据转换,所以它不是使用自连接的简单的 UPDATE、INSERT 和 DELETE 语句,而是我们不得不使用游标代替(我知道!)
这已经运行了好几个月,但现在我们开始在更新时遇到性能问题(这可能在白天经常发生)
基本上,当我们从 SqlFoxProData.ImportantTable 更新 SqlWebData.ImportantTable 时,它会导致实时网站上偶尔出现连接超时/死锁/其他问题。
我一直在努力优化查询、缓存等,但现在我正在寻找另一种更新数据的策略。
想到的一个想法是拥有两份重要表(A 和 B),一些关于哪个表当前“活动”的概念,更新非活动表,然后切换当前活动表
即当我们更新ImportantTableB 时网站从ImportantTableA 读取,然后我们切换网站以从ImportantTableB 读取。
问题是,这是可行的还是个好主意?我以前做过类似的事情,但我不相信它一定对优化/索引等有好处。
欢迎任何建议,我知道这是一个混乱的情况......长期目标是让我们的 FoxPro 应用程序指向 SQL。
(如果有帮助,我们将使用 SQL 2005)
我应该补充一点,数据一致性在实例中并不是特别重要,因为数据总是有点过时