我知道之前已经有人问过这个问题(例如 here),但我仍然找不到解决方案,而且这些帖子已经很旧了。
所以我可以使用 ssh 连接连接到远程数据库,然后像这样使用命令行:
SELECT
det.cust_id AS customer_account_number,
temp.direct_deposit_account_number AS account_number,
c.encrypt_val AS ssn_encrypted,
det.cust_first_name AS name_1,
bal.BALANCE_AMT AS principal
FROM
cdb.DIM_CUSTOMER det
LEFT JOIN
cdb.fact_stored_val_acct_dly bal
ON det.cust_id = bal.customer_id AND bal.curr_cd='USD' and bal.acct_type_code='SBA'
INNER JOIN
cdb.dim_party_acct_map b
ON bal.customer_id = b.cust_id
INNER JOIN
cdb.dim_party_doc_id c
ON b.party_key = c.party_key
AND c.status = 'A'
INNER JOIN
cdb.dim_doc_issuer d
ON c.doc_issuer_id = d.doc_issuer_id
AND d.doc_type = 'TAX_ID'
AND d.doc_subtype = 'SSN'
INNER JOIN
(SELECT
own.owner_id AS customer_id,
entity.entity_id AS direct_deposit_account_number
FROM mdb.fp_account_owner_map own
LEFT JOIN
mdb.fp_account_entity_map entity
ON own.fp_account_id = entity.fp_account_id
WHERE entity.entity_type in (12)
AND own.product_id in (5501)) AS temp
ON customer_account_number=temp.customer_id
如果我在 DBeaver 中使用 ssh-tunneling 尝试同样的方法,我会收到连接错误
ssh 隧道本身似乎有效。如果我使用与上述相同的凭据并按“测试隧道配置”,我会收到一条成功消息。
我尝试了其他几个端口和主机选项(localhost、rdbms.strato.de 等),这是我通过 mysql // Putty SSH Connection
host: ssh.strato.de
port: 22
username: xxxxxxx
password: xxxxxxx
// connect to mysql with terminal
mysql -h rdbms -u xxxxxxx -p xxxxxxxx
show variables;
show processlist;
找到的,但没有一个有效.
Strato 支持告诉我,我只能在内部使用 phpmyadmin 或使用 putty 和 mysql 远程连接到数据库,但是既然最后一种方法有效,那么 ssh-tunneling 不应该也有效吗?