问题标签 [visual-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.
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)
我应该补充一点,数据一致性在实例中并不是特别重要,因为数据总是有点过时
sql-server - Sql Server x64 和 x86 链接服务器
我有一个需要从 Sql Server 访问的 Visual FoxPro 表。在 Sql Server x86 中,我将只创建一个链接服务器。不幸的是,没有用于 VFP 的 x64 驱动程序 - 因此 Sql Server x64 无法为其创建链接服务器。
到目前为止,我已经提出了以下选项——其中没有一个是我特别喜欢的:
- 设置一个 x86 Sql Server 用作中继,以便查询从 x64 -> x86 -> VFP。
我真的不关心这个,因为除了作为开发人员之外,我还是系统管理员。所以,这意味着我需要修补、维护和监控另一个 Sql Server - 可能还有另一个服务器(假设我不只是使用单独的实例)。
此外,由于 VFP 提供程序不能使用 4 部分语法,因此我必须使用 OPENQUERY。想到将 OPENQUERY 语句嵌入到另一个 OPENQUERY 语句中所需要的所有单引号转义让我头晕目眩……
- 创建一个 CLR 表值函数,尽管程序集(大概?)也是 x64 - 所以我必须退出 proc(IPC?Webservice?)才能实际运行查询
事实证明 TVF 需要一个模式,所以这个选项并不像我最初想象的那样干净。我做了一个峰值来让 WCF 客户端进入 MSSQL,它返回一个 XML 列,然后可以使用 Sql XML 数据类型函数对其进行解析。它可以工作,并且实际上比 OPENQUERY 更易于查询,因为它实际上将变量作为参数。这为我节省了大部分单引号和 EXEC 舞蹈。
当然,Sql 中的 WCF 完全不受支持,而且闻起来像是一个相当大的 hack。我对性能和可靠性有相当严重的保留。
- 停止从 Sql Server 到 VFP 的查询,并重写大量客户端代码
显然,这是“正确”的答案。但是,有很多客户端代码依赖于 Sql Server 表和 VFP 表之间的连接。重写这些东西以填充临时表或进行客户端连接似乎是一个相当大的负担。
这里希望有人能提出更好的选择,或一些类似的经验。
arrays - 如何从 Visual FoxPro 9 OLEPUBLIC 类返回数组?
作为 FoxPro 的新手(但 Clipper 的老手),我有点不知所措,不知道如何从以下 OLEPUBLIC 类返回数组。编辑:我已经修改了下面的代码,以考虑下面@Stuart 所做的评论。
鉴于以下 VBScript,我可以很好地打开文件。我似乎无法做的是取回比错误消息更有用的东西。
这是错误消息:
c:\temp\foo.vbs(3, 1) sloop.db sloop.db: .getrecord p:\testing\sloop\sloop.prg 第 41 行错误语法错误。200
事实证明,第 41 行是
这真的很奇怪,因为这是微软建议的语法。有什么线索吗?
64-bit - 切换到 64 位还是停留在 32 位?
我有一个小办公室,我目前使用我编写的 Visual Foxpro 应用程序来处理所有数据。
是时候购买新服务器了。VFP 和 64 位操作系统似乎存在问题。我应该迁移到 64 位并尝试处理出现的问题,还是购买运行旧 32 位架构的新服务器?
后者当然需要我使用 Exchange 2003 而不是 2007 或 2008。可能没什么大不了的?
uniqueidentifier - 在 VFP 中创建唯一 ID
我需要根据邮寄信息在 VFP 中创建唯一的记录 ID:zip5、地址、姓氏、名字。创建后,关系表将使用唯一 ID 加载到 SQL Server 7 中。有什么建议吗?