2017-04-20 70 views
0

我想用sys用户连接到数据库。将架构更改为不同的用户。执行查询并将结果写入文件。更改模式,执行查询和写入输出到文件

我正在使用oralce管理的数据访问。 https://www.nuget.org/packages/Oracle.ManagedDataAccess/

我已经尝试了三种不同的方式。

1)spool->不起作用,因为我不执行的sqlplus但managedDataAccess

2.连接)开始执行immediate'changeschema”立即执行‘查询’结束 - >上的读者,因为没有输出开始/结束

3.)尝试更改连接conn.ChangeDatabase(user);不managedDataAccess

工作,这是我的连接字符串:

string oradb = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + host + ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" + instance + ")));User Id = " + oracleUser + "; Password =" + oraclePassword; 

我可以更改连接字符串

+0

您正在使用哪个数据库?你标记了mysql和oracle,不能兼而有之。请更正标签。 –

+0

修好了:)对不起 – user2811630

+0

没问题,常见的错误。 –

回答

0

如果连接的SYS你不需要更改架构内的模式,你可以在你的from子句中引用模式,例如

select * 
from my_user.my_tab 
; 
+0

感谢您的回答。我已经知道,但这对我来说更像是一种解决方法而不是解决方案。我正在执行自定义查询,并且不希望在查询中输入可放入的内容。 – user2811630

+0

您可以让SYS拥有您的owner.table_name的同义词。 –