【问题标题】:why dosen't oracle database link show column with image type from sqlserver为什么oracle数据库链接不显示来自sql server的图像类型的列
【发布时间】:2018-02-12 12:04:36
【问题描述】:

我们有 2 个服务器:

Windows 2012 上的 1-sqlserver 2012

Linux 上的 2-oracle 11g

我们希望在 oracle 数据库的 sql server 中显示 table1 的信息,并在它们之间创建数据库链接

当我有类似的查询时

"select ID,NAME from TABLE1" in plsql

我可以看到真实的结果

但是当我有类似的查询时

"select ID,NAME,picimage from TABLE1" in plsql

我收到这些错误 1 ORA-03113: 通信通道上的文件结束 2 ORA-03114: 未连接到 oracle

谁能帮帮我?

【问题讨论】:

    标签: oracle11g sql-server-2012 database-link ora-03113 ora-03114


    【解决方案1】:

    Oracle 很可能无法识别IMAGE 数据类型。在 SQL Server 中已弃用,请在查询或表中将该列转换为 VARBINARY

    我强烈建议在表中转换它,因为NTEXTTEXTIMAGE 数据类型将从 SQL Server 的后续版本中删除。 Microsoft 建议改用NVARCHAR(MAX)VARCHAR(MAX)VARBINARY(MAX)

    https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql

    【讨论】:

    • 我可以用另一台装有 sqlserver 2008 和 windows server 2008 的机器解决这个问题,但是当我迁移到 windows 2012 和 sql server 2012 时遇到了这个问题
    • 检查数据库驱动程序的版本(ODBC 或任何你使用的)。如果它们不同,那可能就是问题所在。您可能需要检查所述驱动程序或数据库链接的设置。我怀疑那里存在差异。
    • 感谢您的帮助,但我在发布此问题之前已经检查过了,我没有发现 windows 2008 和 windows 2012 中的 64 位 ODBC 配置有任何区别
    • Oracle 中的数据库链接到两台服务器的情况如何?
    猜你喜欢
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 2018-12-03
    • 2019-03-29
    • 2021-07-28
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多