1

我执行 ETL 并将大约 100 个表下载到我的公司数据仓库以执行报告和分析。不幸的是,我对下载这些信息的公司的数据库设计和实践没有发言权。我使用 jdbc:vortex:// URL 连接到我下载数据的数据库。我将它下载到我的 MS SQL Server 2012 仓库。

话虽如此,我需要的关键表有 400 多列。我可以使用 DBVisualizer Free 来查询他们的数据,但是当我查询这个表时,我得到了错误:

[错误代码:-1,SQL 状态:07000] dbFetch 异常:视觉:408 列太多(最大值:256)

当我使用 Pentaho Kettle(数据集成服务)尝试将此表下载到我的仓库中时,我也遇到了同样的错误。

即使我尝试只从表中抓取几列,我也会收到此错误。我认为必须有一种方法可以让 pentaho 和 db 可视化器增加列数,但我无法在任何地方找到此信息。大多数人并没有愚蠢到在一个表中有超过 256 列,所以我很难找到解决这个问题的方法。

4

2 回答 2

1

这是 JDBC 驱动程序中的一个设置,由该 JDBC 驱动程序的创建者记录。Pentaho 论坛上也提出了同样的问题。

于 2012-07-07T11:44:34.100 回答
0

Vortex 驱动程序接受max_column我用来解决相同问题的属性。尝试设置max_column为大于 400 的值。

Properties dbProps = new Properties();
dbProps.setProperty("max_column", "500");

Connection dbCon = DriverManager.getConnection("jdbc:vortex...", dbProps);

在 DbVisualizer 中,查看 Connection 时,转到 Properties 选项卡,然后max_column在 Driver Properties 部分下添加。

于 2018-06-21T19:01:15.133 回答