Как я могу подключиться к оракулу с информацией у меня есть? - PullRequest
1 голос
/ 14 декабря 2010

У меня есть информация ниже от администратора базы данных оракула и я хочу подключиться к оракулу из приложения .net. я только что закончил установку инструментов / драйверов oracle для windows / .net и теперь хочу получить консольное приложение для подключения к базе данных oracle и извлечения данных из oracle на сервер SQL.

еще одно решение состоит в том, чтобы SQL-сервер извлекал из оракула все записи в таблице ошибок. я понятия не имею, что такое строка соединения оракула, и пытался создать системный DSN, но потерпел неудачу при этом до обращения к SO-гуру ...

ORACLE SQL имя пользователя «USER_dev», пароль "добро пожаловать".

Строка подключения «JDBC: ртуть: оракул: //qct-ds2-p.apps.com: +1139; ИССЫ = QCTRP1»

Ответы [ 3 ]

1 голос
/ 14 декабря 2010

Мне повезло, и я нашел простое решение, которое все в .net и не требует ничего, кроме этого синтаксиса через строку подключения весь материал .ora представлен в строке подключения и работает хорошо.

static void getData()
        {
            string connectionString = GetConnectionString();
            using (OracleConnection connection = new OracleConnection())
            {
                connection.ConnectionString = connectionString;
                connection.Open();
                //Console.WriteLine("State: {0}", connection.State);
                //Console.WriteLine("ConnectionString: {0}", connection.ConnectionString);

                OracleCommand command = connection.CreateCommand();
                string sql = "SELECT * FROM BUG";
                //string sql = "SELECT table_name FROM user_tables";
                command.CommandText = sql;

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

        }

        static private string GetConnectionString()
        {
            return "User Id=USER_dev;Password=welcome;Data Source=(DESCRIPTION=" +
                    "(ADDRESS=(PROTOCOL=TCP)(HOST=111.123.479.24)(PORT=1139))" +
                    "(CONNECT_DATA=(SID=QCTRP1)));";

        }
0 голосов
/ 14 декабря 2010

теперь, когда у вас есть tnsnames, созданные из @erbsock, вам нужно получить сторону .net все работает. У Oracle есть несколько учебных пособий, которые помогут вам в этом вопросе.

При установке драйверов Oracle ODP (по ссылке вы увидите примеры и загружаемые файлы), вы получите каталог, созданный в % ORACLE_HOME% \ odp.net \ Образцы \ 4 \ DataSet \ DSPopulate \ SRC (похоже, это тот же пример, что и при расположении @ http://www.oracle.com/technology/sample_code/tech/windows/odpnet/DSPopulate/ViewProducts.cs.html)

в качестве начального теста я бы порекомендовал просто изменить id / passwrd / sql / etc и попробовать его.

это не так принципиально отличается от использования System.Data; но есть несколько ошибок, и помните, что на каждом компьютере должен быть установлен клиент ODP / Oracle, чтобы они работали с подключением ora.

если у вас есть какие-либо проблемы, опубликуйте точное сообщение об ошибке, которое отображается, а также фрагмент кода .net, который устанавливает соединение, выполняет запрос и где оно разрывается

0 голосов
/ 14 декабря 2010

перейдите в каталог ORACLE_HOME \ network \ admin. Создайте файл с именем tnsnames.ora, если его там еще нет. Добавьте это в это:

QCTRP1.WORLD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = qct-ds2-p.apps.com)(PORT = 1139))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = QCTRP1)
    )
  )

Я делаю некоторые предположения здесь ...

разрешает qct-ds2-p.apps.com? похоже, что администратор БД установил прослушиватель на порт 1139 ... по умолчанию обычно 1521, поэтому вам нужно подтвердить.

Затем вы можете настроить строку подключения следующим образом:

Connection conn = DriverManager.getConnection
     ("jdbc:oracle:oci8:@QCTRP1.WORLD", "dev", "welcome");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...