问题标签 [faircom-db-sql]
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.
php - FairCom c-tree ODBC 连接 - PHP
我在 Windows ODBC 中配置了一个用户 DSN:
我总是收到这个错误:
想知道用 PHP 连接到该数据库的正确方法是什么。谢谢!
odbc - 将数据从 FairCom c-tree 数据库 (ODBC) 导出到 MS Excel 时出错
我正在尝试使用 FairCom c-tree 数据库的 ODBC 驱动程序将数据从旧的 .dat 文件传输到 MS Excel。数据已传输到 Excel,但在导入之前,我收到了两条警告消息,似乎部分数据丢失了。
有谁知道我收到消息的原因:
"SCHEMAFieldLength: field length for column #81 is 120, which is larger than record buffer. Using length 93 instead."
在那之后:
"WARNING! Field not found for key segment(2, 4, 1). Possible DODA problem. Check alignment.
我已经尝试了 ODBC 驱动程序的所有选项。可能是数据库损坏或我遗漏了什么?
mysql - 根据 table1 结果的条件从单行连接 2 个或 3 个表创建多个结果?
首先让我说是的,这是一种存储数据的可怕方式,其次,这不是我的错 :) 我正在尝试与第 3 方数据库集成以提取存储在 3 个表中的信息,这确实应该已经在两个 AND 中存储,其中表 2 具有多对一关系。既然不是这样,我有一个难题要分享。
表一包含可以存储多个值的行。每行都有codeid1
- codeid20
。这些列可能包含一个值或 0(它们从不null
)。它们也有一个对应的codetype1
-codetype20
将是 0 或 1。
如果codetype1
等于 0,我们转到表 2 并description
从匹配项中进行选择table1.codeid1=table2.id
。如果codetype1
等于 1,我们现在必须查看 table3 并找到位置table1.codeid1=table3.id
,然后匹配table3.table2id=table2.id
并返回描述。
下面是数据结构:
我要寻找的结果如下所示:
昨晚我开始与某人合作,但我错过了未集成 table3 的情况的部分复杂性。就像我说的,有趣的谜题......这给了我前两张桌子之间的关系,但我不确定如何在第三张桌子上工作。
数据库是通过ODBC连接的Faircom C-Tree DB,一般兼容Mysql语句,包括UNION、WITH、INTERSECT、EXISTS、JOIN……没有PIVOT功能。
c# - 从没有 ForEach 循环的相邻单元格获取 DataTable 值?
我正在解决这个问题:根据 table1 结果的条件,从连接 2 个或 3 个表的单行创建多个结果?虽然我希望我能接受Strawberry's
建议,但我不能,所以我现在尝试在 C# 中而不是通过 DB 做更多事情,但也试图聪明地了解我使用了多少 CPU。
对于规模,table1 可能有 50,000 条记录,codetype
其中包含必须评估的 20 个字段,然后才能匹配到 table2,它有大约 2,000 行,或者 table3,它可能有 200,000 行。为了避免敲击数据库,我将在内存中存储可能的内容,尽可能按日期限制结果,但我想避免每 20 个代码类型匹配有 2,000 个 foreach 循环。
首先,我从 table2 获得所需的结果,并将它们加载到 C# DataTable 中,存储为名为的变量descriptionLookup
:
表 3 为lookupTable
:
做一个简单的(不显示所有周围的代码,只是相关的):
然后我将其分配给调用该函数的变量。现在我必须处理table1:
使用 foreach 行,我需要评估每个 codetype 列是否为 1 或 0。当 codetype=1 时,我需要获取关联的 codeid,然后从我保存在内存中的数据中查找descriptionLookup
table2id是匹配id
inlookuptable
然后使用它来查找 table2 中关联字段的描述。
如果 codetype 为 0,我只需要匹配codeid
table2 中的相关描述字段。
我正在研究如何布局,我能想到的只有:
我没有尝试运行上面的代码,所以那里可能有一两个问题,但它得到了使用foreach (var row3 in idLookup)
. 另一种方法似乎是进行数据库查询,但这似乎比仅仅遍历内存中的内容更密集,但似乎有一种更好的方法让我错过了如何获取id
或table2id
不使用 foreach。
为了使它成为历史上最长的问题:) 这是我到目前为止的 SQL:
只要没有任何codetype
具有 1 的记录,这将非常有效,否则将跳过该记录。可能不会有任何一行都codeid / codetype
被填满,也不会出现codetype
全盘为 1 以匹配此查询的逆查询的情况。
tosca - 需要用于 Tosca 自动化工具的 Ctree Faircom 连接字符串
我们正在尝试在 Tosca 和 ctree faircom 数据库之间建立连接,但无法建立连接。
收到以下错误消息:
'无法使用“连接字符串建立连接:DRIVER=CTREE ODBC Driver;UID=admin;PWD=ADMIN;Database=ctreeSQL;Host=local host;Service=6597;
Ctree 版本:10.3.1
mysql - 用于选择字段名称的循环?
我有一个令人讨厌的、令人讨厌的数据布局,我不得不使用它。我终于得到了一个使用 C# 的工作查询和一个 for 循环,一遍又一遍地执行相同的查询,但调整了哪些字段被调用,但现在我想知道是否可以使用 while 循环来做到这一点。我收到一个错误,我不确定是因为我使用 Faircom / C-tree 作为数据库,还是我的查询有问题。我通常是 Mysql 用户。
该表有 20 个我关心并希望提取到 csv 列表中的字段。它们是 codetype1-codetype20,我希望它像value1, value2, value3...
现在这样我一次将它们全部取回。麻烦的是 codetype1 依赖于另一个字段来确定我去哪里查找该代码的信息,这就是 case 语句的原因。
我从来没有使用过while循环,虽然我有点理解我应该选择它来进入某些东西,我是否需要创建一个临时表,或者它可以全部存储在内存中直到循环结束并返回.
值得一提的是,当您将 SELECT 替换为@index
连接格式时,整个 SELECT 查询都可以在 C# 中工作" . index . "
mysql - 子数学标准时选择父记录
我试图将用户返回的结果限制为“最近”的结果,但在用户有父母的情况下,我还需要返回父母。
http://sqlfiddle.com/#!9/91db19
在这种情况下,我想返回 Alan、John 和 Bill,但不返回 Jerry,因为 Jerry 在times
表中没有记录,他也不是有记录的人的父母。我对如何处理卡尔犹豫不决,我不介意为他获得结果,但我不需要它们。
我正在用数十万条记录过滤成千上万的用户times
,因此性能很重要。一般来说,我有大约 3000 个唯一 id 来自times
可能是一个id
,或者一个parent_id
。
以上是我正在尝试做的一个精简示例,完整的示例包括更多连接和案例语句,但一般来说,上面的示例应该是我们使用的,但这里是我正在使用的查询示例(完整查询将近 100 行):
此示例适用于 Faircom C-Tree 数据库,但我还需要在 Sybase、MySql 和 Pervasive 中实现类似的解决方案,因此只是想了解我应该做什么才能获得最佳性能。
基本上我需要做的是以某种方式让RIGHT JOIN
用户也包括父母。