【发布时间】:2018-12-17 08:40:52
【问题描述】:
简单的问题:
我的代码如下所示:
var con = new OracleConnection("Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.20.10.8)(PORT=1521))(CONNECT_DATA=(SID=orcl12c)));");
con.Open();
var adp = new OracleDataAdapter("select * from adr;select * from person;", con);
var ds = new DataSet();
adp.Fill(ds);
现在我希望在 DataSet 中获得两个表,但我宁愿得到一个异常,告诉我 SQL 语法不正确......看起来 ;那样不被认出来..?有什么想法吗?
编辑 #1:另外添加 BEGIN+END; 不起作用(多种变体)
编辑 #2:使用 execute immediate 包装选择将运行,但不会返回结果集。
解决方案:将提供的答案与Using Dapper with Oracle stored procedures which return cursors 结合起来享受。
【问题讨论】:
-
一次运行一个查询并省略分号,或者将两个查询放在一个 PL/SQL 块中stackoverflow.com/questions/12262145/…
-
不重复并将其放在一个块中并不能解决问题,但会寻找另一种解决方案。