나는 최대 절전 모드를 연구하기 위해 더비를 사용하고있다. 필자는 임베디드 데이터베이스로 사용했지만 데이터로 채우기위한 앤트 작업에는 문제가있어 네트워크 버전으로 전환하고 있습니다.Derby 데이터베이스에서 "username"과 "table owner"는 어떻게 관련되어 있으며, 그들을 설정하는 간단한 방법은 무엇입니까?
Java/Hibernate 프로그램 외에도 Squirrel 클라이언트로 데이터베이스에 액세스합니다. 나는 가능한 한 간단하게 설정을 원한다. 나는 보통의 보안, 암호화 등도 필요로하지 않는다.
나는 Squirrel을 사용하여 데이터베이스를 만들었고, SQL 스크립트는 테이블을 만들었다. 그런 다음 데이터를 테이블에 넣는 일식에서 개미 작업을 실행합니다. 개미 스크립트는 내가 가진 모든 것이 내장 데이터베이스 일 때 하나의 레코드를로드 한 다음 데이터베이스가 이미 열려 있다고 말합니다. 개미 스크립트가 하나 이상의 레코드를 수행 할 수 있도록 네트워크 서버 모드로 전환했습니다.
길이가 아닌 사용자 이름과 암호가 없으면 다람쥐 클라이언트가 연결을 거부하므로 admin/admin에 넣습니다.
이렇게하면 데이터베이스 테이블이 어떻게 든 사용자 이름 아래에 구성됩니다. 다람쥐의 'Objects'창에는 데이터베이스 이름, ADMIN 및 그 아래에있는 다른 것들, TABLE 및 ADMIN 아래의 다른 것들, 그리고 ADMIN에서 만든 테이블이 표시됩니다. ADMIN은 Sql 스크립트에 나타나지 않으며, 데이터베이스에 생성하고 로그인하는 데 사용하는 사용자 이름에서만 사용됩니다. 따라서 내 사용자 이름이기 때문에 테이블이 ADMIN 아래에 있다고 가정합니다. 나는 그것이 어디서 올지 알 수 없다.
최대 절전 모드 구성의 URL에 "username = admin; password = admin"을 넣었는지 여부는 추가 할 첫 번째 테이블이 존재하지 않는다고 말합니다.
그래서 누군가가 내가 다람쥐와 Java/Hibernate가 Derby 데이터베이스에서 서로 동일한 테이블에 액세스하도록해야한다고 말할 수 있습니까? Squirrel이나 Derby가 사용하는 username, schema, qualifiedName 및 simpleName과 같은 용어에 대한 기초적인 이해는이 트릭을 수행 할 수 있다고 생각합니다.
여기 테이블 작품 중 하나입니다 :
create table AdUser
( id bigint generated by default as identity (start with 1),
name varchar(255),
password varchar(255),
primary key (id),
unique(name)
);
을 여기에 최대 절전 모드 설정 파일입니다 :
<property name="hibernate.connection.url"> jdbc:derby://localhost:1527/C:/Users/rcook/workspaceGalileoLaptop/BHChap3/BegHibernateDB;username=admin;password=admin</property>
<property name="hibernate.connection.driver_class"> org.apache.derby.jdbc.ClientDriver40 </property>
<!-- <property name="hibernate.connection.username">sa</property> -->
<!-- <property name="hibernate.connection.password"></property> -->
<property name="hibernate.dialect"> org.hibernate.dialect.DerbyDialect </property>
<property name="hibernate.connection.pool_size">0</property>
<property name="hibernate.show_sql">false</property>
나 반복하자; 이 작업은 임베디드 데이터베이스의 한 레코드에서 작동 했으므로 매핑 된 객체를 만들고 연결하고 코드를 작성하는 코드가 모든 작업에 사용됩니다. 하지만 나는 두 가지 액세스 방법에서 로그인에 문제가 있음을 확신합니다.
나는 네트워크 모드에서는 사용하지 않았지만 임베디드 만 사용한 적이 있지만 테이블을 만들 때 스키마 이름을 지정하지 않으면 사용중인 사용자 이름의 스키마에 적용됩니다. 그리고 네, DB에 연결하려면 사용자 이름/암호가 필요합니다. 나는 단지 당신을 묻을 필요가 없을지도 모른다라고 생각한다. –