我在Oracle表中有一个数据库,其中有4列(id,1、2、3)。 我已经使用Connect引擎创建了从MariaDB到Oracle数据库的连接:
create table dblink_oracle
(`id` int(11) not null,
`one` varchar(1) not null,
`two` varchar(2) not null,
`three` varchar(6) not null,
`sumcol` varchar(9) as (concat(one,two,three)) virtual) ENGINE=CONNECT table_type=ODBC connection='dsn=oracle' block_Size=10 DATA_CHARSET=latin2 dbname='DB' tabname='q_table'
但是当尝试查询时,请从dblink_oracle中选择*。我收到错误消息:
[Oracle] [ODBC] [Ora] ORA-00904:无效的标识符
我可以选择id,1、2、3,但不能选择sumcol虚拟列,它在源数据库中搜索。 如果我覆盖任何现有的列,它都可以工作,但是那不是正确的方法:
create table dblink_oracle
(`id` int(11) not null,
`one` varchar(1) not null,
`two` varchar(2) not null,
`three` varchar(9) as (concat(one,two)) virtual) ...etc
我现在可以选择三个,它会计算级联的列,但是我丢失了该列,为此我还希望使用其他名称列。
可能是什么问题?