问题标签 [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.
sql - 正则表达式 - 在逗号之间的序列中捕获下划线之间的数字
我在数据库表中有一个字段,格式为:
这是格式对整个领域都是统一的。三个下划线分隔的数值,一个逗号,另外三个下划线分隔的数值,另一个逗号,然后是三个下划线分隔的文本值。中间没有空格
我想从第二个数字序列中提取中间值,在上面的例子中我想得到444
在我继承的 SQL 查询中,使用的正则表达式 is^.,(\d+)_.$
但这似乎没有做任何事情。
我试图识别第一个逗号,后面的第一个数字和下面的下划线,222_
作为起点,然后从那里得到下一个没有_
后面的数字
这是我得到的最接近的(,\d*_)(\d+[^_])
选择,222_444
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 检索数据的程序。我有两个想法:
- 用python做所有事情。
现在,我想使用 paramiko、sshtunnel 和 pyexasol(python 库)来编写程序,但在我的一生中,我已经阅读了很多堆栈溢出帖子并尝试了很多 ssh 隧道变量的组合。pyexasol 是一个新的、看似孤立和停滞的项目,这无济于事,所以我不能在那里做 ssh。
- 部署一个运行 bash 的 docker 容器来执行该命令,然后使用 bash 本身或 python 程序连接到数据库并检索数据。
但我对网络架构和 Idk 知之甚少,这甚至是如何工作的。
问题1:
你可以帮帮我吗:
使用 sshtunnel 打开 ssh 隧道的代码
或者知道如何使用 Docker 做到这一点
问题2:
甚至可以部署这个吗?或者 ssh 隧道转发是否需要来自这台特定的计算机才能让服务器接受它?
感谢您阅读所有这些内容!
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 之上的类,只有连接参数。类的相关方法有:
在这两种情况下,我都会遇到相同的错误:
mysql - Exasol 中的相关子查询
我尝试在 Exasol 数据库中使用 SQL 编写子查询。问题类似于这个线程(SQL Query - join on less than or equal date)并且代码在mysql和postgres中运行良好。但是,当我将代码移动到 Exasol 时,它显示 SQL 错误 42000:on 子句中的相关性。我想知道这个问题是否有任何替代解决方案,或者我如何在 Exasol 中解决它?
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
任何帮助或线索来解决这个问题请。
exasolution - 在 Exasol DB 中触发
如何在 exasolDB 中模拟触发器的功能?喜欢:
java - 如何使用 Jdbc 从 ResultSetMetaData 获取表名
我正在尝试通过使用 jdbc DatabaseMetadata 和 ResultSet 进行查询来获取表的预览(数据)。
如果我针对 MySQL 数据库运行下面的代码并正确返回表名和数据,则下面的代码工作得非常好,但如果针对 Exasol 数据库运行,它会给出 EMPTY tableName。我需要帮助来获取给定结果集的 tableName。
在 exasol 数据也返回的情况下,只有表名是“”。任何帮助或线索来解决这个问题请。
sql - Exasol 中两个日期之间的天数列表
在 PostgreSQL 中,很容易生成两个日期之间所有日期的列表:
是否有可能在 Exasol 中获得相同的结果?
sql - Exasol 中的数组聚合
用例相当简单。在 postgres 中,我可以将 a 中的值聚合GROUP BY
到一个数组中:
在 Exasol 中,从聚合函数的文档页面中,我只能看到将上面的GROUP_CONCAT
所有值合并items
为逗号分隔的字符串。
是否可以在适当的数组而不是字符串中获取这些值?
database - 如何在 DigitalOcean droplet 上安装和启动 Exasol 社区?
我的一个项目需要一个快速分析数据库,现在我使用 memsql,我想测试 Exasol,但我仍然不知道如何将它部署到 DigitalOcean droplet,有没有人有详细的说明如何做到这一点?