我有这个链接到另一个数据库的Oracle查询,但它似乎不接受我传递给查询的参数 这是我的代码 cmd.CommandText = "SELECT * FROM table1@dev tb1 join table2 tb2 on tb1.id = tb2.id WHERE tb1.id = :id"cmd.CommandType
这是我的代码
cmd.CommandText = "SELECT * FROM table1@dev tb1 join table2 tb2 on tb1.id = tb2.id WHERE tb1.id = :id" cmd.CommandType = CommandType.Text cmd.BindByName = True cmd.Parameters.Add(New OracleParameter("id", id))
这样做时我收到此错误
ORA-03113: end-of-file on communication channel
但是,如果我只是将查询更改为不使用参数,那么它可以工作
关于如何使用参数的任何想法?
编辑
如果我尝试下面的进一步调查
cmd.CommandText = "SELECT * FROM table1@dev tb1 WHERE tb1.id = :id" cmd.CommandType = CommandType.Text cmd.BindByName = True cmd.Parameters.Add(New OracleParameter("id", id))
我得到了一个不同的错误
ORA-28511: lost RPC connection to heterogeneous remote agent
我真的想要一个允许参数传递给链接数据库的解决方案,但我似乎找不到任何关于使用链接数据库的参数的信息
谢谢
ORA-03113是一个通用的例外,当灾难导致连接丢失时,它会被抛出.警报日志或跟踪文件中可能还有一些其他信息.检查后台转储或诊断目录.ORA-28511更具体.错误消息指向特定区域进行调查;建议是“检查网络问题和远程主机崩溃.问题可能出在代理软件中.”
所以,这不是一个真正的语法问题.这是一个环境(配置/硬件)问题.我担心你不得不再做一些挖掘工作.
祝好运.