2015-11-30 3 views
0

Я не понимаю, почему у меня есть это сообщение об ошибке. Для подключения не используется код, а только SQLDatasource и вид сетки. Я использую этот код:Соединение ASP.NET с Oracle DB

охраняемую недействительным Page_Load (объект отправителя, EventArgs е)

{ 
    try 
    { 
     using(OracleConnection conn = new OracleConnection(".....")) 
     using(OracleCommand cmd = new OracleCommand("select * from t1", conn)) 
     { 
      conn.Open(); 
      using(OracleDataReader reader = cmd.ExecuteReader()) 
      { 
       DataTable dataTable = new DataTable(); 
       dataTable.Load(reader); 
       ListBox1.DataSource = dataTable; 
      } 
     } 
    } 
    catch (Exception ex) 
    { 
     Label1.Text=ex.Message; 
    } 
} 

enter image description here

+0

Вы можете поделиться код – Baskar

+0

попробовать это .. [ASP.default_aspx»не содержит определения для 'IssuesGrid_OnItemUpdated' и не метод расширения 'IssuesGrid_OnItemUpdated'] (HTTP: // stackoverflow.com/a/21789125/990423) – user990423

+1

Я отредактировал ваш вопрос, чтобы вставить изображение, но вы ** действительно ** должны вводить текст в сообщении об ошибке, а не размещать изображение. Таким образом, другие поиски могут найти соответствующие слова в вашей ошибке. –

ответ

-1

Вы не можете использовать SqlConnection для Oracle! Прежде всего, вы должны добавить connectionString в web.config для связи с Oracle. Во-вторых, добавьте ссылку System.Data.OracleClient в свой проект. Затем заменить SqlConnection с OracleConnection. Все, что вы использовали с Sql, вы должны заменить Oracle.

+0

Вы не указали, как изменить имя поставщика для SqlDataSource. Наверное, лучше не предлагать устаревшую и неподготовленную библиотеку.У Oracle есть официальный драйвер, который по сути является заменой встроенного в один. https://www.nuget.org/packages/Oracle.ManagedDataAccess/ – mason

+0

Я установил этот драйвер из Oracle: http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html Затем я попытался запустите debug, который дал мне эту ошибку. Интересно, установил ли я неправильный драйвер! Кроме того, я попытался изменить файл web.config, но этот шаг дал мне еще худшую ошибку, чем эта. Он вообще не мог прочитать файл. – Alcor

+0

Я заменил GridView на ListBox, как в скрипте в главном сообщении. В настоящее время приложение работает без ошибок, но в списке нет данных. Я уверен, что у меня что-то не хватает, но что это? – Alcor

0
  1. Сначала вы должны установить клиент доступа к оракул данных, а затем попробовать этот следующий код

    • охраняемую недействительным Button1_Click (объект отправителя, EventArgs е) { строка ConnectionString = «Источник данных = ОПИСАНИЕ = "+ " (ADDRESS = (ПРОТОКОЛ = TCP) (HOST = хо

      • элемент списка st_name) (PORT = 1521)) "+ "(CONNECT_DATA =" + "(SERVER = ПОСВЯЩЕННЫЙ)" + "(SERVICE_NAME = your_service_name)" + ")" +"); идентификатор пользователя = ID; Пароль = Пароль; "; Oracle.DataAccess.Client.OracleConnection con = новый Oracle.DataAccess.Client.OracleConnection(); con.ConnectionString = connectionString; con.Open(); Oracle.DataAccess.Client.OracleCommand cmd = новый Oracle.DataAccess.Client.OracleCommand(); cmd.CommandText = "выберите ref_no from money_trn, где ref_no = 20170733"; cmd.Connection = con; con.Close(); cmd.CommandType = System.Data.CommandType.Text; Oracle.DataAccess.Client.OracleDataReader dr = cmd.ExecuteReader(); dr.Read(); TextBox1.Text = dr.GetString (0); }
Смежные вопросы