2013-03-25 7 views
1

Я делаю приложения на Java, связанные с MySQL, но теперь я делаю C# с Oracle. Вот код, который я получил до сих пор:C# подключение к базе данных Oracle

using System.Data.OracleClient; 

namespace Chat 
{ 
    class DBconnector 
    { 
     static private string GetConnectionString() 
     { 
      return "Data Source=myserver.server.com;Persist Security Info=True;" + 
       "User ID=myUserID;Password=myPassword;Unicode=True"; 
     } 
     static public void ConnectAndQuery() 
     { 

      string connectionString = GetConnectionString(); 
      using(OracleConnection conn = new OracleConnection()) 
      { 
       conn.ConnectionString = connectionString; 
       conn.Open(); 
       Console.WriteLine("State: " + conn.State); 
       Console.WriteLine("Connction String: " + conn.ConnectionString); 

       OracleCommand command = conn.CreateCommand(); 
       string sql = "SELECT * FROM users"; 
       command.CommandText = sql; 

       OracleDataReader reader = command.ExecuteReader(); 
       while(reader.Read()) 
       { 
        string myField = (string)reader["MYFIELD"]; 
        Console.WriteLine(myField); 
       } 
      } 

     } 

    } 
} 

Что хакерство меня то, что я не знаю, что ввести в обмен «myserver.server.com», «myUserID» и " myPassword "в connectionString. Я предполагаю, что это «localhost /» и smth, как это, но с Oracle у меня на самом деле нет такого же визуального интерфейса, как с MySQL в браузере, и поэтому я как бы «потерян».

Я следил за этим учебным пособием: Instant Oracle using C# и я делаю этот случай с включением строки подключения непосредственно в свой код, но не используя внешний файл tsanames.ora. Краткая история -> Я не знаю, как изменить строку подключения для моей собственной базы данных, а также если есть другие ошибки или предложения - не стесняйтесь их указывать.

+2

Вы должны использовать файл TNSNAMES.ORA. – Rik

+2

Используйте мой любимый веб-сайт http://connectionstrings.com/oracle. Это всегда помогало мне. – rocky

ответ

1

Я не уверен, если вы можете сделать это без изменения вашего TNSNAMES, но это не трудно:

YOURSERVER = (DESCRIPTION = (ADDRESS = (PROTOCOL= TCP) 
(Host= <your_server_hostname_or_IP>)(Port= <port>))(CONNECT_DATA = (SID = <DB_instance name>))) 

Если у вас есть сомнения относительно того, как заполнить эти вверх, вы должны проверить с ближайшим DBA.

Тогда просто добавьте ваш_сервер в:

return "Data Source=YOURSERVER; ... 

Имя пользователя и пароль, связанные со схемой, которую требуется подключить.

Смежные вопросы