Failed to parse SQL query - column invalid identifier - oracle-apex

I am on Application Express 21.1.0.
I added a column to a db table, and tried to add that column to the Form region based on that table.
I got error...
ORA-20999: Failed to parse SQL query! ORA-06550: line 4, column 15: ORA-00904: "NEEDED_EXAMS": invalid identifier
And I can not find the column in any "source> column" attribute of any page item of that form.
I can query the new column in "SQL COMMANDS".
The new column's name is "NEEDED_EXAMS". It's a varachar2(500).

Don't do it manually; use built-in feature by right-clicking the region and then select "Synchronize columns" from the menu as it'll do everything for you. It works for reports and forms.

Solved.
I have many parsing schemas. And I was creating tables through object browser in different schema than my app's parsing schema.

Related

List Dates and customizing tables in Power Query

I'm trying to Add Custom Column in Power Query with the objective to return a Table from a List of dates.
The syntax used is as follows below:
= Table.AddColumn(TypeDate, "AddTable", each Table.FromList(
List.Dates([Date_begin],1,#duration(1,0,0,0)
)))
where:
TypeDate is the name of last step in Power Query
"AddTable" is the name of added custom column
[Date_begin] is a column with dates to be considered as the start of my list
Although the syntax seems correct, Power Query returns an error described as follows:
Expression.Error: We could not convert the value #date(2021, 1, 1) on to Text.
Details:
Value=01/01/2021
Type=[Type]
Does anyone know how to handle this problem?
I'll show an image where Power Query shows the error.
Select here to see Power Query interface
Your question is unclear
You want to add a column that has a table of dates for each row, using Date_Begin and Mes_Final?
#"Added Custom" = Table.AddColumn(TypeDate, "AddTable", each Table.TransformColumnTypes(Table.FromList({Number.From([Date_Begin])..Number.From([Mes_Final])}, Splitter.SplitByNothing(), {"date"}),{{"date", type date}}))

Displaying image in an Interactive Report

I am using APEX 21.1. I am building a clinic management system. I have an interactive report based on a join between two tables SELECT e.id examination_id,E.DIAGNOSIS,dbms_lob.getlength(a.img) img, a.id,attachment_id FROM examination e JOIN examination_attachment a ON A.EXAMINATION_ID = e.id. The examination could have many attachments. This is the result of the query.
I changed IMG column's type to Display Image. When it asks for BLOB ATTRIBUTES, I set table name to examination_attachment. That's the table that have the images. And I enter the primary key as the table's PK(id). The page displays error No data found. The SQL query returns that id duplicated when there is more than one row in the examination_attachment table. I think that's the reason behind the error but not sure. I created a view with the same select statement without the dbms_lob.... part. Just selected the IMG column. And in BLOB attributes, I set the table to the view name, and the primary key as the attachment_id because it's the column that's not duplicated. And it worked. But I need to get it to work without views and I need to know if the cause of the error is right?

Rename Column Name in Athena AWS

I have tried several ways to rename some column name in athena table.
after reading the following article
https://docs.aws.amazon.com/athena/latest/ug/alter-table-replace-columns.html
But I have get a no luck on it.
I tried
ALTER TABLE "users_data"."values_portions" REPLACE COLUMNS ('username/teradata' 'String', 'username_teradata' 'String')
Got error
no viable alternative at input 'alter table "users_data"."values_portions" replace' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: 23232ssdds.....; proxy: null)
You can refer to this document which talks about renaming columns. The query that you are trying to run will replace all the columns in the existing table with provided column list.
One strategy for renaming columns is to create a new table based on the same underlying data, but using new column names. The example mentioned in the link creates a new orders_parquet table called orders_parquet_column_renamed. The example changes the column o_totalprice name to o_total_price and then runs a query in Athena.
Another way of changing the column name is by simply going to AWS Glue -> Select database -> select table -> edit schema -> double click on column name -> type in new name -> save.

Django with Oracle database 11g

I am new to the python language and django. I need to connect the django to the oracle database 11g, I have imported the cx_oracle library and using the instant client for connecting oracle with django, but when i run the command manage inspectdb > models.py. I get error as Invalid column identifier in the models.py. How could i solve it. I have only 2 tables in that schema i am connecting?
"Invalid column" suggests that you specified column name that doesn't exist in any of those tables, or you misspelled its name.
For example:
SQL> desc dept
Name
-----------------------------------------
DEPTNO
DNAME
LOC
SQL> select ndame from dept; --> misspelled column name
select ndame from dept
*
ERROR at line 1:
ORA-00904: "NDAME": invalid identifier
SQL> select imaginary_column from dept; --> non-existent column name
select imaginary_column from dept
*
ERROR at line 1:
ORA-00904: "IMAGINARY_COLUMN": invalid identifier
SQL>
Also, pay attention to letter case, especially if you created tables/columns using mixed case and enclosed those names into double quotes (if so, I'd suggest you to drop tables and recreate them, without double quotes. If you can't do that, you'll have to reference them using double quotes and exactly the same letter case).
So - check column names and compare them to your query. If you still can't make it work, post some more information - table description and your code.
I've faced the same problem. The problem is that Django expects your table have primary key (ID), so when your table is without key, it returns Invalid columns identifier.
https://docs.djangoproject.com/en/2.1/topics/db/models/#automatic-primary-key-fields

APEX 5.0.1 - interactive report using aliases give blank edit forms

So I've been working on an application in Oracle Application Express 5, in which I have multiple interactive reports with an update form. I have noticed that when I use aliases in the SQL query of the report, the edit on the report stops working. When I want to edit a row, I just get the blank form for adding a new entry, even though I can see in the URL that the primary key has been sent.
Is this a known issue, and is there any way to make this work?
My column names are partly Croatian abbreviations, so leaving the original column names would be too messy.
Here's an example of my code which works:
select "SIFRA_A_P",
"SIFRA_P",
"NAZIV_P",
"CIJENA"
from "#OWNER#"."PJESMA"
Writing it like this
select "SIFRA_A_P" as "ALBUM",
"SIFRA_P" as "ID",
"NAZIV_P" as "TITLE",
"CIJENA" as "PRICE"
from "#OWNER#"."PJESMA"
makes it stop working properly.
Go on your page where you have the problematic report, go at Report Attributes and in the Link Column section now you have something like this
Name Value
Item 1:P3_SIFRA_A_P Value 1: #SIFRA_A_P#
Item 2:P3_SIFRA_P Value 2: #SIFRA_P#
Change the #SIFRA_A_P# to #ALBUM# and #SIFRA_P# to #ID# in the value column.
include rowid in your select statement.
select rowid,"SIFRA_A_P" as "ALBUM", "SIFRA_P" as "ID", "NAZIV_P" as "TITLE", "CIJENA" as "PRICE" from "#OWNER#"."PJESMA"