Неверный идентификатор для столбца, показанного в схеме - PullRequest
0 голосов
/ 27 июня 2018

У меня возникают проблемы при запросе столбца в представлении Oracle, которое отображается при извлечении схемы. Фактически, это появляется как столбец номер 2, когда я перечисляю это.

Ошибка указывает на недопустимый идентификатор ORA-00904, который из того, что я прочитал, говорит, что имя столбца, на которое я ссылаюсь, является неправильным, но я скопировал имя непосредственно из Oracle Developer, MSAccess и datareader.Schema, все из которых Похоже, нет проблем с получением этой колонки.

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

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

Код ниже:

'Open And Query 
oledbCon.ConnectionString = strCon
oledbCon.Open()
oledbCom.Connection = oledbCon
oledbCom.CommandType = CommandType.Text
oledbCom.CommandText = "SELECT AREA_CODE FROM CSITAPPS.DAYSIN_1057"
oledbda.SelectCommand = oledbCom
oledbda.Fill(gdt)

table

1 Ответ

0 голосов
/ 29 июня 2018

Мне удалось найти решение, работающее с коллегой на пару дней. Проблема связана с тем, что ссылки на столбцы Oracle чувствительны к регистру. Из-за этого требовались двойные кавычки, что сложно для VB.net, поскольку кавычки указывают и инкапсулируют записи String. Решение состояло в том, чтобы разбить строку и объединить в нее chr (34). Это в сочетании с гарантией того, что эталонный регистр столбца соответствовал тому, что было в таблице, оказалось правильным.

"SELECT " & Chr(34) & "Area_Code" & Chr(34) & " FROM CSITAPPS.DAYSIN_1057 ORDER BY " & Chr(34) & "Area_Code" & Chr(34) & " DESC;"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...