无法通过使用 DG4MSQL 创建的 db 链接查询 SQL Server 系统表

     2023-03-27     154

关键词:

【中文标题】无法通过使用 DG4MSQL 创建的 db 链接查询 SQL Server 系统表【英文标题】:cannot query SQL Server system tables over db link created using DG4MSQL 【发布时间】:2011-12-20 10:21:23 【问题描述】:

我正在尝试使用 DG4MSQL 网关创建从 Oracle 11g 到 SQL Server 2005 的数据库链接。

创建数据库链接后,我无法使用 JDBC 驱动程序查询 SQL Server 系统视图(sys.services 或 sys.objects),但我可以使用 JDBC 驱动程序查询所有用户表。

如果我使用 sqlplus,我可以查询所有表,包括系统表。由于我的项目是Java项目,所以必然要使用JDBC驱动。

我的另一个观察是,如果我使用 DG4ODBC 而不是 DG4MSQL 网关,那么我可以使用 JDBC 驱动程序查询所有 SQL Server 表,包括系统表。

请告诉我是否有任何方法可以使用 DG4MSQL 和 JDBC 驱动程序查询 SQL Server 系统表?

【问题讨论】:

【参考方案1】:

这个有点难解释

Oracle 网关执行 3 种类型的操作:

SQL 翻译(当您查询常规表、视图等时) 数据字典翻译(当您查询系统视图时) 数据类型转换(例如 Microsoft 的日期到 Oracle 的日期)

对于 JDBC,JDBC-ODBC 桥使 JDBC 驱动程序与 DG4ODBC 中包含的驱动程序完美兼容。因此,JDBC 加 DG4ODBC 允许您执行上述所有转换。

问题在于 DG4MSQL 使用专有驱动程序,并且只有 SQL 转换可以桥接到 JDBC。

作为您的问题的解决方案,您可以尝试基于远程 SQL 服务器系统视图在您的 Oracle 架构上创建本地视图。根据您的要求,您甚至可以将它们创建为物化视图。

CREATE OR REPLACE VIEW sys_services 
AS SELECT * 
FROM sys.services@dblink;

然后查询sys_services而不是直接查询sys.services@dblink

【讨论】:

使用 PDO 创建新的 SQLite DB

...据库,或者我只是坚持通过DSN连接到现有数据库?如果PDO无法实现,有没有办法通过PHP创建新的数据库?【问题讨论】:为什么不提供sqlite文件?我可以做到,但我想知道是否有办 查看详情

无法通过 redshift DB 中的工作台手动执行功能

】无法通过redshiftDB中的工作台手动执行功能【英文标题】:UnabletoexecutefunctionmanuallyviaworkbenchinredshiftDB【发布时间】:2017-09-0613:50:44【问题描述】:我们已经在sql-workbench/aginity中连接了redshiftDB。我能够创建函数,但我无法在工作... 查看详情

无法从 Firebase 缩短的动态链接网址检索动态链接

】无法从Firebase缩短的动态链接网址检索动态链接【英文标题】:UnabletoretrieveDynamicLinkfromtheFirebaseshorteneddynamiclinkURL【发布时间】:2019-11-1108:25:13【问题描述】:通过WhatsApp打开时,无法从使用Firebase动态链接创建的短网址中检索... 查看详情

通过python操作mongodb数据库进行增删改查(代码片段)

文章目录安装Python开源驱动库pymongo插入数据查询数据更新数据删除数据安装Python开源驱动库pymongopipinstallpymongo插入数据frompymongoimportMongoClient#使用MongoClient对象创建与数据库服务器的连接client=MongoClient(host='127.0.0.1',por... 查看详情

DB2 和 PL/1:通过创建对适当游标的引用来避免冗余,使用它

】DB2和PL/1:通过创建对适当游标的引用来避免冗余,使用它【英文标题】:DB2andPL/1:Avoidredundancybycreatingareferencetotheappropriatecursor,workwithit【发布时间】:2011-04-1420:53:58【问题描述】:我正在编写一个从DB2读取数据的PL/1子例程。根... 查看详情

无法在不重定向的情况下创建付款发票

】无法在不重定向的情况下创建付款发票【英文标题】:can\'tcreatepaymentinvoicewithoutredirecting【发布时间】:2021-09-2914:51:56【问题描述】:我想通过贝宝收款。我需要向用户发送链接并获得报酬。正在成功创建approval_link链接。但无... 查看详情

无法创建 SQL-DB

】无法创建SQL-DB【英文标题】:Can\'tcreateSQL-DB【发布时间】:2012-10-2715:13:16【问题描述】:无法创建数据库。我使用Xcode4.4,最新的PhoneGap版本。通常在User/.../iPhoneSimulator/.../Documents/tapp.sql中应该有一个数据库。但是什么都没有。... 查看详情

mongodb数据库的创建,增删改查(代码片段)

使用创建数据库use'数据库名称'//有就使用,没有就创建插入,增加数据db.user.insert("name":"xjt")展示数据库的表showcollections展示表的数据>db.user.find()"_id":ObjectId("6121d6122a72a5ac17821 查看详情

无法使用 JDBC 连接通过 SSH 隧道连接到 Azure DB

】无法使用JDBC连接通过SSH隧道连接到AzureDB【英文标题】:FailingtoconnecttoAzureDBviaSSH-TunnelusingaJDBCconnection【发布时间】:2020-09-2420:27:48【问题描述】:我。出于安全原因,我无法直接访问AzureDB,但我有一个跳转服务器/隧道VM,可... 查看详情

mongodb数据库的创建,增删改查(代码片段)

使用创建数据库use'数据库名称'//有就使用,没有就创建插入,增加数据db.user.insert("name":"xjt")展示数据库的表showcollections展示表的数据>db.user.find()"_id":ObjectId("6121d6122a72a5ac17821a1d 查看详情

通过 cPanel 使用 PHP 创建 mysql DB 并导入 *.sql 文件

】通过cPanel使用PHP创建mysqlDB并导入*.sql文件【英文标题】:CreatemysqlDBwithPHPthroughcPanelandimport*.sqlfile【发布时间】:2016-01-0417:09:47【问题描述】:我想为每个想要注册到我的网络应用程序的用户创建一个数据库。当我尝试这个本地... 查看详情

通过 os 包创建相对符号链接

...系统已经containsthefunction:os.SymLink(oldname,newnamestring),但它无法创建相对符号链接。例如,如果我运行以下命令:packagemain 查看详情

无法通过邮件中的链接打开 Ionic App 中的页面

】无法通过邮件中的链接打开IonicApp中的页面【英文标题】:UnabletoopenthepagesinIonicAppvialinksfrommail【发布时间】:2022-01-1720:27:54【问题描述】:我创建了Ionic应用内浏览器应用,并将其安装在Android手机上。现在,当我尝试单击邮件... 查看详情

无法使用 flask-sqlalchemy 创建自动递增主键

】无法使用flask-sqlalchemy创建自动递增主键【英文标题】:unabletocreateautoincrementingprimarykeywithflask-sqlalchemy【发布时间】:2014-01-1720:32:18【问题描述】:我希望我的模型的主键是一个自动递增的整数。这是我的模型的样子classRegion(db... 查看详情

Jira OAuth - 无法创建应用程序链接

】JiraOAuth-无法创建应用程序链接【英文标题】:JiraOAuth-Unabletocreateapplicationlink【发布时间】:2016-05-0913:54:00【问题描述】:我正在尝试创建一个使用jira进行身份验证的应用程序。我也在使用JiraRestapi。在文档中,它说使用相同... 查看详情

Jira OAuth - 无法创建应用程序链接

】JiraOAuth-无法创建应用程序链接【英文标题】:JiraOAuth-Unabletocreateapplicationlink【发布时间】:2016-05-0913:54:00【问题描述】:我正在尝试创建一个使用jira进行身份验证的应用程序。我也在使用JiraRestapi。在文档中,它说使用相同... 查看详情

如何获取通过 H2DB 创建的“内存”数据库的流?

】如何获取通过H2DB创建的“内存”数据库的流?【英文标题】:Howtogetstreamto"in-memory"databasecreatedviaH2DB?【发布时间】:2010-04-1911:11:54【问题描述】:我必须创建这样一个机制:创建内存(H2DB)数据库;创建表格并使用一些... 查看详情

mongodb增删改查及批量操作

1.查select(1).通过$all进行匹配查询db.food.find(fruit:$all:[apple,banana])以下方式将查不到数据(不使用$all)db.food.find(fruit:[apple,banana])db.food.find(fruit:[banana,apple,peach])查询数组中特定位置的元素,需要使用key.index查找db.food.find(fr 查看详情