问题标签 [babelfish]
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.
postgresql - 使用 Postgresql Bablefish 将 Sybase 应用程序连接到 Aurora Postgresql
我有一个大型 Sybase ASE C/C++ 应用程序,我想将它迁移到 Postgresql。该应用程序正在使用 Sybase CT 库(没什么复杂的:简单的 SQL、少量的批量上传等)。应用程序是使用 SYBASE OCS-16 在 Linux 上构建和运行的。
我正在尝试评估 BabelFish 扩展是否可以帮助加快迁移速度。
第一个挑战(从 Sybsae 迁移)是应用程序广泛使用多语句查询来返回多结果集,使用动态生成的 Transact-SQL。在少数情况下,多语句查询在后续调用中使用占位符。例如:(这不是真正的代码,但它类似于模式)
快速检查表明 Microsoft T-SQL 支持所有这些结构。
第二个挑战是 Sybase CT API。我认为最好的方法是使用 openTDS,它提供与 Sybase 相同的 API,并将其配置为使用 Babelfish 支持的 TDS 7.X。
基本上:(我的应用程序)->(进行 CT 调用)->(freeTDS)-> TDS 7.X ->(Babelfish)->(Postgresql)。
我的问题:
- 有没有人为 Sybsae->Postgresql 尝试过这种方法。
- 这种方法可能奏效吗?
- 需要freeTDS吗?bablefish 会在 babelfish 端口上与使用 TDS 5.X(或 4.X)的客户交谈吗?
- 有没有更好的方法来解决这个问题?
在这个项目中,可以对应用程序进行微小的更改(如果需要,还可以对 freeTDS 进行更改),但不可能触及所有发出 CT 调用的代码 - 太多模块 - 太耗时 - 实际上不是一个选项。
node.js - 连接到 Aurora Postgres (Babelfish, 1433)
我正在尝试连接到启用了 Babelfish 的新 Aurora PostgreSQL 实例。
注意:我可以通过普通端口 5432(Postgres TDAS 端点)使用 pg 库连接到实例。
但是,对于此测试,我尝试使用标准 mssql 包通过 Babelfish TDS 端点 (1433) 进行连接。
如果我指定一个数据库名称(它是正确的),我会收到错误“数据库“postgres”不存在”:
并且连接关闭,因为连接失败。
如果我在配置中省略了数据库属性,例如:
它将连接。此外,我可以使用该连接来查询诸如 SELECT CURRENT_TIMESTAMP 之类的基本内容,并且它可以工作!
但是,我无法访问任何表。
如果我运行:
我收到一个错误“关系“人”不存在”。
如果我点注释它:
我收到错误“不支持跨数据库查询”。
所以,我不能直接连接到特定的数据库,如果我在没有指定数据库的情况下连接,我不能交叉查询到表。
有人做过吗?
或者,如果没有,有什么想法可以帮助我弄清楚接下来要尝试什么?我没主意了。
postgresql - Querying Postgres through Babelfish
I am connected over TDS (1433) to a Postgres/Aurora (babelfish-enabled) database.
I can run the following three queries from my application and I receive confusing responses:
The responses are:
I simply cannot query the PERSON table. I have tried:
I have ensured the user I am connecting as has access to the database, schema and tables:
Still, I cannot access the table. I feel like such a boob/noob
For anyone who has connected to Postgres via Babelfish, what am I doing wrong?
amazon-cloudformation - 使用 Cloud Formation 使用 Babelfish 创建 Aurora 集群
有什么方法可以创建一个使用云形成启用 Babelfish 的 Aurora RDS 集群多可用区。我们可以使用 [console or cli][1] 创建它。但是,我想使用 Cloudformation 创建它。我在以下可用选项中找不到选项。
甚至在实例级别
谢谢你们的时间和帮助。[1]:https ://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-create.html
stored-procedures - 具有非限定表名的存储过程不适用于 Babelfish
我在 RDS 中创建了一个支持 Babelfish 的 Postgres 数据库。我连接了 SSMS 并创建了一个名为“demo”的数据库。在“演示”中,我创建了一个名为“biz”的模式。我在“biz”模式中创建了我的表和存储过程。存储过程使用不合格的表名。最后,我写了一个 .Net 程序来做一些测试。我使用 System.Data.SqlClient Connection 和 Command 类,我可以连接到数据库。当我执行存储过程时,我得到“关系“X”不存在。” 错误。如果我更改我的存储过程并使用“biz”模式限定表名,错误就会消失。
如何避免必须使用架构限定表名?
例如:创建启用 Babelfish 的 Postgres 集群后,我在 SSMS 中执行了这些语句:
运行 p_getcities 后我收到此错误消息:
消息 33557097,第 16 级,状态 1,第 21 行关系“城市”不存在
当我切换到 pgAdmin 并尝试像这样运行存储过程时:
我收到类似的错误:
错误:关系“城市”不存在第 1 行:从城市中选择 * ^ 查询:从城市中选择 * 上下文:PL/tsql 函数 biz.p_getcities() 第 2 行 SQL 语句 SQL 状态:42P01
但是,当我这样设置 search_path 时:
并执行存储过程,我得到了预期的结果:
波特兰或弗吉尼亚州里士满
Babelfish 中是否有相当于 search_path 的方法?