2010-06-18 71 views
0

好了,问题如下:C#Oracle数据库10g中发出

我使用C#WPF应用程序内置,我已经知道如何连接到Oracle数据库引擎,但我需要在它的一些帮助。

第一,我想知道如何将服务器添加到连接字符串...

OleDbConnection conn = new OleDbConnection("provider=MSDAORA;data source=ORCL;user id=SCOTT;password=TIGER"); 

是它的供应商或数据源?和服务器在我的电脑上,我应该写它localhost127.0.0.1然后端口?以及如何添加端口是server:port还是应该添加另一个参数?

第二,我创建了一个函数来执行发送给它的查询作为参数,我想把查询结果放在DataSet但我不知道如何将结果转换为DataSet。

这是我的函数:

public DataSet SelectQuery(String p_sSql) 
    { 
     DataSet ds = new DataSet(); 
     try 
     { 
      OleDbCommand myOleDbCommand = conn.CreateCommand(); 
      myOleDbCommand.CommandText = p_sSql.ToString(); 
      OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader(); 
      myOleDbDataReader.Read(); 
      //here I want to add the result to the DataSet ds ... 
      myOleDbDataReader.Close(); 
      conn.Close(); 
      return ds; 
     } 
     catch (System.Exception ex) 
     { 
      MessageBox.Show("Error: " + ex.ToString()); 
      return null; 
     } 
    } 

回答

1

如果不仅限于ODBC,你应该尝试ODP.NET

http://www.oracle.com/technology/tech/windows/odpnet/index.html

这里是一个简单的教程

http://www.oracle.com/technology/pub/articles/cook-vs08.html

+0

我按照第二个链接中提到的有关连接的说明,但我无法弄清楚我的数据库的正确连接字符串,我使用的是Oracle 10g XE,我不知道提供者和数据是什么来源应该是。 – sikas 2010-06-23 15:07:24

+0

请查看:http://www.connectionstrings.com/oracle – Zeal 2010-06-25 18:27:16

0

有关Oracle连接字符串查看此URL,因为它将包含所有需要的信息。 connectionstrings.com/oracle。在另一个说明中,除非你真的需要不打扰ODP.Net提供者,因为这是一个很难安装的问题,你会遇到Oracle 10g的x64问题。我发现使用System.Data.OracleClient的问题更少,这将在.NET 4.0中被弃用。

至于指定端口,通常所有的信息都在您的TNS文件中指定,您只需指定在连接字符串中使用哪个TNS列表。