Configuring database to connect 21c XE with primavera p6 - java

I trying to connect primavera p6 to express edition 21c
1- XE db had been installed
2- started to configre db using "dbsetup" script
3- I got an error which show in the below image
Please if anyone have any help kindly share with me

When you configure a tool to setup some objects/users/etc in the database, it is going to ask you for database connection settings.
For XE, we have what is called a "multi-tenant" configuration, which means there is a "root" or "container" database that is generally not for use by end users, and one or more "pluggable" databases, into which you would configure your users etc.
The root database is called XE and the pluggable database is called XEPDB1, unless you didnt use the defaults.
Thus for Primavera you should nominate XEPDB1 as the database to install into. If you choose to install in "XE", then since this is the container database, there are rules as to what the users must be named, which is why you're getting this error. Switch to installing into the pluggable database and you should have more success.

Related

Managing Java based Desktop Applicationc(Database Management)

I am developing a Java based desktop application for a school.
As I am beginner, I am facing some issues.
Where to store the data of students or teachers (In files or database )
If in files, how I will ensure the security ?
If in Database, Can I embed db in application or I need to install db on server.
If db is installed on server, how I will manage the application if I will give that to other school users. (Means distributing the application to different users)
Do I need to create separate database for different users on servers or Can I make separate schema on same db.
First of all you need Mysql server installed for the following:
1->Store it in Database(mysql database)
2->database security (refer mysql secuity)
3->all you need is mysql connector for java put in the application folder of app you are creating
4->You can provide database inside of folder of application no
5->You can add user in same database.
You could do this:
1.Where to store the data of students or teachers (In files or database )
If you would like to go with open source databases, go with MYSQL instead of storing in files. Basic user authentication is enough to give you security to get started with your application. So no need of 2nd.
You can install and run on a remote system or your local machine depending on your application requirements and budgets.
On top your database, to communicate with it, develop a Spring web application (Spring data jpa) with REST web services so that any user can communicate with your application.
In your data base, you can manage users as well with basic authentication like username, password.
No you need not create separate schemas or dbs for each user. Instead you can create a single table that has information regarding Users for your application. For example, create a table "User_Management" which has columns like emailId, phone, name etc.
To get started, you can refer below:
http://javabeat.net/spring-data-jpa/
You should use Database (the best for this is Derby DB default for Java)
You can Embed Derby DB in application and also use this as server client.
Derby DB is light weight 2MB.
Alternatively you can use MySQL
If db is installed on server, You would create server on other school's PC or
you have to purchase the online server.
The Best as I described is Derby but if you want to use other you can use Xampp , Wampp server for local server client applications.

Java Embedded Database to Standalone Database

Im workings on java project.its a desktop application (financial application).
I want to when user in offline save all data in embedded database (H2 database) and when user come to online or click on some button save all the new data on Standalone database(My SQL server) server.
Right now i kindda lost with this scenario.
Can some one describe how this should be done or is this possible.
Based on Assumption as your question seem to pointing below requirement,
you have local H2 database
mysql may be on other network.
If you save some data on application then goes to h2 database
one you connected to internet the data should go to mysql database which is on differnet host from h2 local database where application is running.
Solution :
you need to add replication tools which replicate data from one database to another seemlessly.
Refer One of the nice tool : https://www.symmetricds.org/
Let me know if you have any other requirement. Also please provide enough details when raising the questions. Thanks.
Replicating data from H2 DB to Mysql DB using a replicator tool is one way.
Other way to achieve the same is rather than creating a heavy in-memory DB instance on client machine is you can write the same data in file on client machine at some location and write a scheduler program which will check the heart beat of socket and if ping to your server is successful you can read file and upload the data to your actual DB server. Also Writing your own scheduler and data uploader will give you more control.
Other issue with any replicator tool is data type compatibility.
Still if you want to go ahead with any replication tool- you can have a look at Tungsten Replicator - https://docs.continuent.com/tungsten-replicator-4.0/deployment-oracle-fromoracle.html

Issue with NetBeans and MySQL (granting access)

I'm attempting to setup a database in my Netbeans project, however for some reason I'm unable to give access to the root user account. I'm following the tutorial seen here: https://netbeans.org/kb/docs/javaee/ecommerce/setup-dev-environ.html, which states I need to select root#localhost. But as you can see I have no such option, despite having the user setup in MySQL.
Any ideas? I've restarted the server several times and disconnected/reconnected from within Netbeans.
You have to register the MySQL server in NetBeans first
and
both taken from setup the dev environment

do I need to install sqlite software to connect in java?

To make connection to sqlite database and do some transaction, is it mandatory that a database software should be installed in the machine. I have seen that some libraries just handle connection and transactions without even database software. Or did I miss to notice that there were some database is already installed? How does the connection mechanism works?
A link to good article with detailed explanation would help me!
Thank you.
There are 2 options:
Use your DB locally:
For this you will need to install SQLLite on your machine, and in your project use JDBC jars for the connections from your java project to the DB. You may send queries to the DB as a string like "SELECT XXX FROM YYY WHERE a>b" or use Object Relational Mapping (ORM) tools like Hibernate.
If you have a remote DB installed on a VM on some cloud for example, then you don't need to install any DB on your local computer. But you will still need to use JDBC for connection.
You need Jdbc driver only or you can use ORM like hibernate.
Youtube has many tutorials about java and databases:
https://www.youtube.com/results?search_query=java+database+tutorial
If you are a begginer, start with jdbc with sql queries, later you should start using ORM's.
Probably you need to install mysql server or use this website https://www.elephantsql.com/ to get database instant.

embed mysql database in java application

I make a java application using netbeans that connect to database , but i have a problem , i want to embed mysql database with the executable jar file , so when i take this jar file and run it on any pc that doesn't have mysql server it will run with database , i thought about include the mysql-installer.exe and make a script to install the mysql server , but i can't find how to do that ,also i read about Connector/MXJ does it work if the user run the application and he does not have mysql server , any suggestion or article about this.
Derby is a pure-java DBMS. You bundle the derby jar with your program, just as you would any other library. This is a much cleaner way of ensuring your user has a db for your program, as you're not adding any dependencies.
Usually distributors don't include standalone databases, such as MySQL or Oracle, with their
application. If needed, they provide SQL script to build the database and make the user type in the database host, username and password and make a script to build the database. If you want to "ship" the database with your application then I would consider more lightweight databases such SQLite (singe file database).

Categories

Resources