H2 database write access reqd - h2

I installed Talend Open Studio for MDM and Master data gets stored in H2 Database(which is the only DB provided by product). I created an entity in MDM. But I need to make changes in that entity datatype. I need to drop the entity which I already created. When I am trying to do this, I am getting below error.
sa#TMDM_DB/PUBLIC> drop table contact;
An error occurred when executing the SQL command: drop table contact
The database is read only; SQL statement: drop table contact [90097-176] [SQL State=90097, DB Errorcode=90097]
how to make this H2 DB as write mode. I need to have write access.

Related

ODBC Permission Error from MS Access DB despite having the necessary DB grants

User, XX has the delete grants on a Oracle DB table.
XX can delete the record from the table directly upon connecting to DB via TOAD/SQL Dev/...
XX cannot delete the same record from the same table when accessing it as a linked table from MS Access DB.
Error:
ODBC - delete on a linked table failed.
ORA - 01031: insufficient privileges
Same is the case when trying to delete the record either from a custom form or from the linked table row.
User can however read, insert data through the linked table.
User can also delete the record from another linked table with the delete privileges.
Things tried so far:
Deleting the linked table and relinking it.
Re-configuring the ODBC.
Removed and provided the table specific grants again.
Verified that all the action triggers and Access macros are not causing any access issue.
Any thoughts/inputs will be of great help. Thanks.

SSMA - How to see the new Tables created on Oracle Schema?

I have a project to migrate Oracle schema and its objects to SQL Server on SSMA.
I created a new table on the Oracle schema I am migrating, but I cannot see that table on SSMA.
I tried "Refresh from Database" on SSMA and it doesn't show up either. I receive the message: Nothing to process by this operation, because all objects are equal
When I open the schema on SQL Developer, I can see the table under the schema on Oracle

How to query tables and pull data into an Oracle APEX application from another schema?

I am working in an Oracle APEX application and am trying to query tables in another schema (that another Oracle APEX application sits on) to pull in data to my application.
The applications are hosted within the same APEX workspace and on the same Oracle 11g instance. Our application have tables that are structurally the same as the tables we're trying to query in the other schema.
Using the schema prefix (SELECT * FROM "SCHEMA2".TABLE1;) when querying is throwing an error that the tables do not exist (ORA-00942: table or view does not exist)
The second thing I tried is creating a database link between the two schemas, but when trying to establish the connection I'm getting the following error: ORA-01031: insufficient privileges
Can someone identify where I'm going wrong here / help me figure out how to query the other schema?
Database link is used when there are different databases involved; your schemas reside in the same database which means that the first attempt was correct: prefixing table name with its owner, e.g.
SELECT * FROM SCHEMA2.TABLE1
However, first connect as schema2 user and issue
grant select on table1 to schema1;
Otherwise, schema1 can't see the table. If schema1 is supposed to do something else with that table, you'll have to grant additional privileges, such as insert, update, delete, ....

How to create a database in Oracle using JDBC?

I want to create a new database on an Oracle server via JDBC. I cannot seem to connect to the database without providing an SID: using a URL like jdbc:oracle:thin:#//[IP]:1521 results in an error of "ORA-12504, TNS:listener was not given the SID in CONNECT_DATA"
Alternatively, if I log into a specific SID, I can run most DDL commands except for CREATE DATABASE foo which fails with an error of "ORA-01100: database already mounted"
How am I supposed to create a database if I cannot connect to the server without specifying a specific database and cannot create a database if I am already logged into a specific database?
AFAIK creating a database needs an internal and direct connection which can only be done by logging in directly on the server (normally a user account called 'oracle').
One reason for that: users are stored in the database itself. No database = no user to connect to by an external client.
Please also note Justin's comment about oracles database schemas. This is probably what you are looking for
What you need are following commands:
CREATE TABLESPACE CREATE USER and few GRANT ... TO ... -- to have rights to connect and create objects, at least

Oracle vocabulary, what is the mysql/SQL Server equivalent of a database

I need some help with vocabulary, I don't use Oracle that often but I am familiar with MySQL and SQL Server.
I have an application I need to upgrade and migrate, and part of the procedure to do that involves exporting to an XML file, allowing the installer to create new database tables, then import to the new database tables from the XML file.
In Oracle, my database connection specifies a username, password, and an SID.
Let's call the SID, "COMPANY-APPS". This SID contains tables belonging to several applications, each of which connects with a different user ( "WIKIUSER", "BUGUSER", "TIMETRACKERUSER" ).
My question is:
Can I re-use the same user to create the new tables ( with the same names ).
In MySQL or SQL Server, I would create a new database and grant my user privileges to create tables in it.
OR, do I need to create a new database user for my upgraded tables?
The word you are looking for is Schema in Oracle. When you create a user they have a schema associated with them, so if I created the user 'Tim' and a table called 'data' then it can be found globally (in that database) as Tim.data

Resources