报错内容为:链接服务器"JWSERVER"的 OLE DB 访问接口 "OraOLEDB.Oracle" 返回了消息 "ORA-00904: "SUBSTRING": 标识符无效"。 消息 7321,级别 16,状态 2,第 1 行 准备对链接服务器 "JWSERVER" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 执行查询"SELECT * FROM V_BKS_TIMETABLE_CLASSROOM where SUBSTRING(JCZ,2,1)='4'"时出错。
时间: 2023-07-08 10:55:42 浏览: 195
OLE DB 访问接口 SQLNCLI 的架构行集 DBSCHEMA_TABLES_INFO
5星 · 资源好评率100%
这个报错的原因是 Oracle 数据库不支持 `SUBSTRING` 函数,而 SQL Server 支持。因此,你需要使用 Oracle 支持的字符串函数来代替 `SUBSTRING` 函数。
Oracle 中可以使用 `SUBSTR` 函数来实现字符串截取的功能,语法如下:
```sql
SUBSTR(string, start_position, [ length ])
```
在你的查询语句中,可以将 `SUBSTRING(JCZ,2,1)` 替换为 `SUBSTR(JCZ,2,1)`,即:
```sql
SELECT SKDD_M as jsbm, STIMEZC zc
FROM openquery([JWSERVER],'SELECT * FROM V_BKS_TIMETABLE_CLASSROOM WHERE SUBSTR(JCZ,2,1)=''4''')
```
这样应该就可以避免这个错误了。
阅读全文