Форум программистов, компьютерный форум, киберфорум
Наши страницы
Oracle
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/53: Рейтинг темы: голосов - 53, средняя оценка - 4.60
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
1

OleDb Provider для Oracle

05.05.2012, 19:15. Просмотров 9576. Ответов 19
Метки нет (Все метки)

На сервере Oracle установлен OleDb 9-й версии
При попытке открыть бд с помощью ADO.NET FrameWork 2001
выходит ошибка, что провайдер не установлен.
Как все-таки присоединится?
Использование ADO.NET,С#,ASP.net важно!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2012, 19:15
Ответы с готовыми решениями:

Oracle+ASP.NET=Unable to find the requested .Net Framework Data Provider
Здравствуйте! Пишу приложение на ASP.NET MVC 4, в качестве бд - Oracle,...

Какими средствами Oracle экспортировать данные из таблицы Oracle в dbf-файл?
Здравствуйте! Не подскажите чайнику какими средствами Oracle экспортировать...

Соединение к Oracle 11g XE из сервера приложений Oracle Weblogic Server 10.3.5.0
здравствуйте уважаемые форумчане! не знаю к какому разделу подходит эта тема...

Ошибка подключения к базе Oracle DB Express 11g через Oracle Data Integrator
Приветствую. На работе дали задание: установить Oracle Data Integrator и...

Oracle Forms List Item и Oracle Reports
Ребят, помогите с таким вопросом... Есть БД со списком сделок (deal_id...

19
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
06.05.2012, 10:44  [ТС] 2
Версия FrameWork - 1.0
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
06.05.2012, 11:21 3
Значит нужно установить провайдер работы с Oracle

Microsoft .NET Managed Provider for Oracle
http://www.microsoft.com/downloads/d...displaylang=en

или Oracle Data Provider for .NET
http://www.oracle.com/technology/sof.../utilsoft.html
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
06.05.2012, 16:13  [ТС] 4
1)Админы говорят,что все установлено,но ваше попробую
2)В качестве альтернативы я закачала OraDirect-удобно,
но-хотя все настройки подключаемой бд слелала как всегда(командную строку и т.п.)выдает исключение пустой ссылки в строке
conn_for_tab.Open();
объект бд:
CoreLab.Oracle.OracleConnection conn_for_tab = new CoreLab.Oracle.OracleConnection("User Id=admin;Password=pas;Server=ASUTP;Sid=asutp;");
исключение:
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
06.05.2012, 16:43 5
Значит переменная conn_for_tab в самом деле содержит значение null, то есть не была инициализирована. Проверяй свой код. Больше ничего не могу посоветовать.
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
06.05.2012, 17:04  [ТС] 6
Хорошо!
Какими способами можно проверить эту переменную (объект бд)?
Код на данный момент наипростейший.
В Server Explorer при этом всю подключаемую бд и ее структуру видно.
Заранее спасибо!
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
07.05.2012, 11:25  [ТС] 7
Помогите!!!
Я не понимаю!
ради эксперимента аналогичным способом я подключилась к бд через Windows форму-все замечательно подключается и данные считываются!
Совершенно также я подключаюсь и в Web форме, но выходит эта ошибка:
System.NullReferenceException:
Object reference not set to an instance of an object.
В чем дело?
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
07.05.2012, 11:36 8
Полный код страницы покажи.
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
07.05.2012, 11:48  [ТС] 9
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
 
namespace WebTable
{
    /// <summary>
    /// Summary description for WebForm1.
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.TextBox txt;
        protected CoreLab.Oracle.OracleConnection oraCon;
        protected System.Timers.Timer tim;
        protected CoreLab.Oracle.OracleCommand oraCmd;
    
        private void Page_Load(object sender, System.EventArgs e)
        {
            oraCon.Open();
            CoreLab.Oracle.OracleDataReader reader;
            reader = oraCmd.ExecuteReader();            
            if (reader.Read())
            {   
                txt.Text=reader["VYR_EE"].ToString();
            }
            reader.Close();
            oraCon.Close();
            tim.Start();
        }
 
        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
        
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {    
            this.oraCon = new CoreLab.Oracle.OracleConnection();
            this.oraCmd = new CoreLab.Oracle.OracleCommand();
            this.tim = new System.Timers.Timer();
            ((System.ComponentModel.ISupportInitialize)(this.tim)).BeginInit();
            // 
            // oraCon
            // 
            this.oraCon.ConnectionString = "User Id=admtech;Password=pastech;Server=ASUTP_NK;Home=OraHome92;Sid=asutp;";
            this.oraCon.Name = "oraCon";
            // 
            // oraCmd
            // 
            this.oraCmd.CommandText = "Select * From MIG_TEP_TEC1";
            this.oraCmd.Connection = this.oraCon;
            this.oraCmd.Name = "oraCmd";
            // 
            // tim
            // 
            this.tim.Enabled = true;
            this.tim.Interval = 5000;
            this.tim.Elapsed += new System.Timers.ElapsedEventHandler(this.tim_Elapsed);
            this.Load += new System.EventHandler(this.Page_Load);
            ((System.ComponentModel.ISupportInitialize)(this.tim)).EndInit();
 
        }
        #endregion
 
        private void tim_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            oraCon.Open();
            CoreLab.Oracle.OracleDataReader reader;
            reader = oraCmd.ExecuteReader();            
            if (reader.Read())
            {   
                txt.Text=reader["VODA"].ToString();
            }
            reader.Close();
            oraCon.Close();
        }
    }
}
таймер в веб тоже не работает!!!
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
07.05.2012, 12:43 10
В какой именно строке в вышепреведенном коде ошибка NullReferenceException возникает?

Цитата Сообщение от levy
таймер в веб тоже не работает!!!
Конечно не работает. После завершения обработки запроса сервер "забывает" про клиента и не имеет возможности что-то ему отправлять. Это же не desktop приложение.
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
07.05.2012, 13:15  [ТС] 11
Цитата Сообщение от bazile
В какой именно строке в вышепреведенном коде ошибка NullReferenceException возникает?
в строке открытия бд
oraCon.Open();

Как попроще реализовать обновление через конкретный промежуток времени?

0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
07.05.2012, 13:19 12
Цитата Сообщение от levy
в строке открытия бд
oraCon.Open();
У тебя в двух местах этот вызов есть! В Page_Load и tim_Elapsed. В какой функции ошибка возниакет?

Цитата Сообщение от levy
Как попроще реализовать обновление через конкретный промежуток времени?
Добавь в head тег <meta http-equiv="refresh" content=КолСекунд> чтобы страница автоматически перезагружалась через указанный интервал времени.


0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
07.05.2012, 13:36  [ТС] 13
Цитата Сообщение от "bazile
У тебя в двух местах этот вызов есть! В Page_Load и tim_Elapsed. В какой функции ошибка возниакет?
при запуске- в Page_Load
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
07.05.2012, 15:07 14
Похоже что методы OnInit/InitializeComponent не выполняются. Непонятно почему только. Специально создал у себя на машине новый проект ASP.NET и там таких проблем нет. Создай отдельный метод типа с инициализацией переменных oraCon и oraCmd. Затем вызывай этот метод из Page_Load перед обращением к БД.

Кстати, ты сама добавляла код инициализации oraCon и oraCmd в метод InitializeComponent()? Если да, то это неправильно.
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
07.05.2012, 15:33  [ТС] 15
Кстати, ты сама добавляла код инициализации oraCon и oraCmd в метод InitializeComponent()? Если да, то это неправильно.
Вставляла не сама - с помощью OraDirect
Создай отдельный метод типа с инициализацией переменных oraCon и oraCmd. Затем вызывай этот метод из Page_Load перед обращением к БД.
не помогло!
опять таже ошибка
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
07.05.2012, 15:39 16
Цитата Сообщение от levy
не помогло!
опять таже ошибка
Тогда не знаю. Проходи отладчиком и смотри в каком порядке у тебя методы вызываются и какие значения переменных в этот момент.
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
07.05.2012, 15:48  [ТС] 17
Цитата Сообщение от "bazile
Тогда не знаю. Проходи отладчиком и смотри в каком порядке у тебя методы вызываются и какие значения переменных в этот момент.
да я бы давно так сделала, но отладчик веб-приложения не запускается
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
08.05.2012, 16:20  [ТС] 18
В обшем я отчаилась с oraDirect!!!
Подключаюсь с помошью более стандартных провайдеров,т.е.
1)Provider=[underline]OraOLEDB.Oracle.1[/underline] ;Persist Security Info=False;User ID=111111ata Source=111111;

Ошибка:System.InvalidOperationException: The 'OraOLEDB.Oracle.1' provider is not registered on the local machine.

и
2)Provider=MSDAORA.1;Password=111111;User ID=111111ata Source=1111111

ошибка:Не найден клиент Oracle и сетевые компоненты. Компоненты предоставляются корпорацией Oracle и входят в клиентское программное обеспечение Oracle версии 7.3.3 или более поздней.
Невозможно использовать данного поставщика, пока не будут установлены эти компоненты.
------
Вероятно нет каких-то настроек на сервере или на клиенте oracle?!
подскажите!!!!
Клиент версии 9i (9201)
Framework 1.0
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
08.05.2012, 16:29 19
Страница ASP.NET (или точнее IIS) находится на той же машине что и БД Oracle? Если нет, то нужно на этой машине клиента Oracle установить. Если он уже установлен, то я не знаю что еще делать
0
levy
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 28
08.05.2012, 16:42  [ТС] 20
Цитата Сообщение от bazile
Страница ASP.NET (или точнее IIS) находится на той же машине что и БД Oracle? Если нет, то нужно на этой машине клиента Oracle установить. Если он уже установлен, то я не знаю что еще делать
В этом то и дело, что я пытаюсь подключиться к бд с клиентской машины
Причем IIS установлен только у меня-на серваке его нет.
0
08.05.2012, 16:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 16:42

Приложение для БД Oracle
Подскажите, кто знает, где можно найти документацию по Developer 2000,...

Триггер для Oracle
Не разбираюсь в оракле,но нужен триггер, который прибавляет к числу в таблице +...

Переписывать скрипт импорта с Oracle XE на Oracle
Суть проблемы такова. Есть 2 программы работающие на оракле, но на разных его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru