问题标签 [exasol]

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.

0 投票
1 回答
82 浏览

sql - 正则表达式 - 在逗号之间的序列中捕获下划线之间的数字

我在数据库表中有一个字段,格式为:

这是格式对整个领域都是统一的。三个下划线分隔的数值,一个逗号,另外三个下划线分隔的数值,另一个逗号,然后是三个下划线分隔的文本值。中间没有空格

我想从第二个数字序列中提取中间值,在上面的例子中我想得到444

在我继承的 SQL 查询中,使用的正则表达式 is^.,(\d+)_.$但这似乎没有做任何事情。

我试图识别第一个逗号,后面的第一个数字和下面的下划线,222_作为起点,然后从那里得到下一个没有_后面的数字

这是我得到的最接近的(,\d*_)(\d+[^_])选择,222_444

0 投票
0 回答
95 浏览

python - SSH 隧道转发通过 python 和 bash 连接到 Exasol 数据库

我会解释情况并在最后询问。

我有一台工作电脑,一台 Mac。在这台 Mac 上,我保存了这个命令:

ssh -n -f -T -N -L {port} {server IP} {email} -i {path to secret RSA key}

花括号只是为了让你知道那里有什么

我需要执行该命令来启动 ssh 隧道,并且我需要为 bash 提供密码才能检索秘密 RSA 密钥。

然后我打开 DBeaver 并使用我的凭据连接到 Exasol 数据库并通过输入127.0.0.1(因此端口默认转发到主 ip)和 bash 命令中给出的相同端口。

以下是给出的所有数据的列表:

  • 服务器端口(显然,我的计算机上也有隧道端口)
  • 服务器IP
  • 电子邮件(我想是 myuser@serverdomain.sthg)
  • 包含 RSA 密钥的文件的密钥
  • 127.0.0.1,作为我用来连接 Exasol 数据库的 IP
  • 服务器端口,和上面的一样
  • 数据库的用户
  • 和该用户的数据库密码

我想部署一个定期从此 DWH 检索数据的程序。我有两个想法:

  1. 用python做所有事情。

现在,我想使用 paramiko、sshtunnel 和 pyexasol(python 库)来编写程序,但在我的一生中,我已经阅读了很多堆栈溢出帖子并尝试了很多 ssh 隧道变量的组合。pyexasol 是一个新的、看似孤立和停滞的项目,这无济于事,所以我不能在那里做 ssh。

  1. 部署一个运行 bash 的 docker 容器来执行该命令,然后使用 bash 本身或 python 程序连接到数据库并检索数据。

但我对网络架构和 Idk 知之甚少,这甚至是如何工作的。

问题1:

你可以帮帮我吗:

  1. 使用 sshtunnel 打开 ssh 隧道的代码

  2. 或者知道如何使用 Docker 做到这一点

问题2:

甚至可以部署这个吗?或者 ssh 隧道转发是否需要来自这台特定的计算机才能让服务器接受它?

感谢您阅读所有这些内容!

0 投票
1 回答
159 浏览

python - 如何从字典值字符串中动态删除引号

我有一本像这样的字典:d = {'table': 'db_schema.foo', 'column': 'bar'}. 我想在从所有值中删除引号后传递这本字典。所以我想{'table': db_schema.foo, 'column': bar}动态获取。

细节:

我试图在连接后将运行动态查询传递给 exasol。我在这里使用 pyexasol 并尝试execute()。我正在尝试执行简单的查询,例如:

如果我提供字典d,那么执行的查询是:

并导致错误。所以我想从所有值中删除引号。我已经尝试过{k:v.strip("\'") for k, v in d.items()}等,但还没有成功。

要求的代码:

其中 exasol 是一个建立在 pyexasol 之上的类,只有连接参数。类的相关方法有:

在这两种情况下,我都会遇到相同的错误:

0 投票
1 回答
457 浏览

mysql - Exasol 中的相关子查询

我尝试在 Exasol 数据库中使用 SQL 编写子查询。问题类似于这个线程(SQL Query - join on less than or equal date)并且代码在mysql和postgres中运行良好。但是,当我将代码移动到 Exasol 时,它显示 SQL 错误 42000:on 子句中的相关性。我想知道这个问题是否有任何替代解决方案,或者我如何在 Exasol 中解决它?

0 投票
1 回答
277 浏览

mysql - com.exasol.jdbc.EXAResultSet 无法转换为 com.mysql.cj.jdbc.result.ResultSetImpl java.lang.ClassCastException

我正在尝试通过使用 jdbc DatabaseMetadata 和 ResultSet 进行查询来构建 DatabaseTable(我的自定义对象)对象。

如果我在 MySQL 数据库上运行下面的代码,它工作得非常好,但是在尝试 Exasol 数据库时它会失败并出现异常。

抛出的异常如下

抛出的异常发生在它试图将对象转换为ResultSetImpl的位置。

我的项目 exajdbc.jar 和 mysql-connector.jar 中有两个 jar

任何帮助或线索来解决这个问题请。

0 投票
0 回答
239 浏览

exasolution - 在 Exasol DB 中触发

如何在 exasolDB 中模拟触发器的功能?喜欢:

0 投票
0 回答
75 浏览

java - 如何使用 Jdbc 从 ResultSetMetaData 获取表名

我正在尝试通过使用 jdbc DatabaseMetadata 和 ResultSet 进行查询来获取表的预览(数据)。

如果我针对 MySQL 数据库运行下面的代码并正确返回表名和数据,则下面的代码工作得非常好,但如果针对 Exasol 数据库运行,它会给出 EMPTY tableName。我需要帮助来获取给定结果集的 tableName。

在 exasol 数据也返回的情况下,只有表名是“”。任何帮助或线索来解决这个问题请。

0 投票
2 回答
457 浏览

sql - Exasol 中两个日期之间的天数列表

在 PostgreSQL 中,很容易生成两个日期之间所有日期的列表:

是否有可能在 Exasol 中获得相同的结果?

0 投票
1 回答
174 浏览

sql - Exasol 中的数组聚合

用例相当简单。在 postgres 中,我可以将 a 中的值聚合GROUP BY到一个数组中:

在 Exasol 中,从聚合函数的文档页面中,我只能看到将上面的GROUP_CONCAT所有值合并items为逗号分隔的字符串。

是否可以在适当的数组而不是字符串中获取这些值?

0 投票
0 回答
28 浏览

database - 如何在 DigitalOcean droplet 上安装和启动 Exasol 社区?

我的一个项目需要一个快速分析数据库,现在我使用 memsql,我想测试 Exasol,但我仍然不知道如何将它部署到 DigitalOcean droplet,有没有人有详细的说明如何做到这一点?