powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключение к БД Oracle из программы на С#
9 сообщений из 34, страница 2 из 2
Подключение к БД Oracle из программы на С#
    #38050569
наш человек в гаване
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
компилятору не нравится почему-то строка, он на неё указывает

Код: c#
1.
 OracleDataReader dr = cmd.ExecuteReader();



описание для ошибки:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
ORA-00911
invalid character

Cause: identifiers may not start with any ASCII character other than letters and numbers. 
$#_ are also allowed after the first character. Identifiers enclosed by doublequotes may contain 
any character other than a doublequote. Alternative quotes (q'#...#') cannot use spaces, 
tabs, or carriage returns as delimiters. For all other contexts, consult the SQL Language Reference Manual.
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051060
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наш человек в гаванекомпилятору не нравится почему-то строка, он на неё указывает

Код: c#
1.
 OracleDataReader dr = cmd.ExecuteReader();


run-time ошибка к компилятору отношения не имеет.
наш человек в гаванеописание для ошибки:

Код: plsql
1.
2.
ORA-00911
invalid character


Уберите из текста запроса точку с запятойю Должно быть так:
Код: c#
1.
cmd.CommandText = "select id, code, name from c_objects c where c.id =658570587";
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051110
наш человек в гаване
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv :
спасибо, помогло!

а могли бы вкратце пояснить почему через tnsnames.ora коннект работает быстрее, чем напрямую (direct соединение)?
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051149
наш человек в гаване
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВо-первых, чего такую "древнюю" версию используете?
"На сейчас" актуальна версия ODAC1120320 - на релиза на 3 "по-свежее" будет...
у меня БД Oracle 11.2.0.1
но, если версия ODAC будет выше, чем версия БД ничего страшного не произойдёт, работать оно будет?
т.е. версия БД может быть к примеру 9i, а ODAC c InstantClient 11.2.0.3 и работать будет нормально?
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051198
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наш человек в гаванеа могли бы вкратце пояснить почему через tnsnames.ora коннект работает быстрее, чем напрямую (direct соединение)?По идее вроде бы не должно, но большего не скажу: с БД на Oracle я "общаюсь" как разработчик, а не администратор - а этот вопрос является непосредственно администраторским.
Если он Вас сильно волнует, задайте его в "более специализированном" месте . Возможно, Вам там ответят.
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051206
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наш человек в гаванеу меня БД Oracle 11.2.0.1
но, если версия ODAC будет выше, чем версия БД ничего страшного не произойдёт, работать оно будет?
т.е. версия БД может быть к примеру 9i, а ODAC c InstantClient 11.2.0.3 и работать будет нормально?Ничего "страшного" не будет. Зато "в плюсах" частично пофиксеные "старые" баги + новые фичи, но и "в минусах" не до конца вычищеные "старые" + некоторое количество "новых" багов...
Перед использованием в "рабочем проекте", соответственно, необходимо проверять в "изолированной среде" как работает новая версия - стандартное требование для любого нового продукта.
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051209
наш человек в гаване
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv :

Могли бы вы ещё показать на примере использования метода dr.GetOracleDate()

Я хочу в метку label1 передать значение GetOracleDate, но не совсем понимаю как это сделать.
Гугл мне сказал, что аргументом для GetOracleDate является int

Код: plsql
1.
2.
3.
public OracleDateTime GetOracleDateTime(
	int i
)



самый первый вопрос, который у меня появляется, какое значение типа int подставлять в качестве аргумента?
и покажите на примере, пожалуйста.
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051250
наш человек в гаване
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv:

у меня следующая проблема:
хочу создать несколько меток (label1, label2,..., label N), и в кажду метку передавать
различный тип данных. Например, в метку label1 буду передавать тип данных varchar2 из БД,
в label2 тип number, а в label3 тип date. Как это организовать?
я посмотрел, что в visual studio есть методы? (правильно назвал?):
GetString
GetChar
GetDateTime
я не понимаю какие аргументы подставлять, вернее какое значение для этих аргументов.
так я не совсем понимаю, почему GetString принимает значение 0, а не 1, например?
Код: c#
1.
 richTextBox1.Text = dr.GetString(0);





этим кодом я пытался в текстовое поле вставить результат первого селекта, а в метку передать текущее время
из БД. но у меня НЕ получилось.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
string oradb = "Data Source=BI_TEST;User Id=scott;Password=tiger;";
            OracleConnection conn = new OracleConnection(oradb);  // C#
            conn.Open();
            OracleCommand cmd = new OracleCommand();
            cmd.Connection = conn;
            cmd.CommandText = "select name from c_objects where id=9205";
            cmd.CommandType = CommandType.Text;
            OracleDataReader dr = cmd.ExecuteReader();
            dr.Read();
            richTextBox1.Text = dr.GetString(0);
            
            //public OracleDateTime GetOracleDateTime(1);
            //label1.Text = dr.GetOracleDate(0);

            OracleCommand cmd2 = new OracleCommand();
            cmd2.Connection = conn;
            cmd2.CommandText = "SELECT TO_CHAR(CURRENT_DATE, 'DD-MON-YYYY HH:MI') FROM DUAL";
            cmd2.CommandType = CommandType.Text;
            OracleDataReader dr2 = cmd.ExecuteReader();
            dr2.Read();
            //richTextBox1.Text = d2.GetString(0);
            label1.Text = dr2.GetString(0);

            conn.Dispose();
...
Рейтинг: 0 / 0
Подключение к БД Oracle из программы на С#
    #38051265
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наш человек в гаване sphinx_mv :
Могли бы вы ещё показать на примере использования метода dr.GetOracleDate()
...
самый первый вопрос, который у меня появляется, какое значение типа int подставлять в качестве аргумента?
и покажите на примере, пожалуйста.:)
Читать Oracle Data Provider for .NET Developer's Guide ...
Подробнее про OracleDataReader Class ...
Примеры "на любой вкус и цвет" есть в каталоге, куда Вы устанавливали ODAC (подкаталог ODP.NET)...
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключение к БД Oracle из программы на С#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]