目前使用 ODBC 方式连接 ORACLE 数据库,遇到的问题是 sql 字符串包含 多条查询语句的时候报错 “ select * from Table1 select * from Table2 ” ,网上说。。 查询语句之前要加 分号;还有加 begin end ;或者中间不能换行。都失败了。
1
huntagain2008 2021-12-17 13:23:55 +08:00
本人非程序员。刚刚百度了下,看到了 multi_query
https://lmbtfy.cn/s/l8P7Hf1my1 |
2
Protocol 2021-12-17 13:52:35 +08:00
说实话怀疑你的程序员属性= =,首先你使用的时 ODBC 方式,进行一次查询,你放两条独立的查询语句上去,就算中间加了分号,最后返回的结果也只会是最后一句的查询结果,你理解什么叫做结果集吗
|
3
netnr 2021-12-17 15:00:25 +08:00
第一种:打开数据库连接 根据分号分隔 循环执行 ExecuteReader 再组装 DataSet
第二种:游标 BEGIN OPEN :o1 for SELECT 1,2 FROM dual; OPEN :o2 for SELECT 3,4 FROM dual; END; 接收 cmd.Parameters.Add("o1", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output); cmd.Parameters.Add("o2", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output); |
4
devinww 2021-12-17 16:04:12 +08:00
你这个语句直接用客户端跑也会报错啊
|
6
TmacV2 OP @Protocol odbc 连接 sql server 的话 可以返回两个查询结果集 换成 oracle 返回不了
|