现在,如果我使用dbeaver进行连接,我看不到示例db(应称为testdb):
我不认为这是一个缺少的连接设置(因为我也使用phpstorm获得了相同的视图):
我希望在模式列表中看到TestDB模式。如果我进入容器并运行
db2sampl
创建样本DB,我也看不到。我是否需要更改设置,或者有其他更根本的错误。我正在使用MacBook M2芯片。
Quick答案:
一切都很好,已经创建了数据库,并且您已连接到它。
the tails如下:
docker-compose.yml
version: '3.8'
services:
db2:
image: icr.io/db2_community/db2:latest
environment:
- LICENSE=accept
- DB2INSTANCE=db2inst1
- DB2INST1_PASSWORD=password
- DBNAME=dbtest
- BLU=false
- HADR_ENABLED=false
- SAMPLEDB=true
- REPODB=true
ports:
- "50000:50000"
volumes:
- db2:/database
restart: always
privileged: true
volumes:
db2:
driver: local
视图db2logs
等待一会儿... 大概10分钟或更短...run命令和查看log
docker-compose logs -f db2
如果您看到以下消息,它已经完成。
...
db2_1 | Database Connection Information
db2_1 |
db2_1 | Database server = DB2/LINUXX8664 12.1.1.0
db2_1 | SQL authorization ID = DB2INST1
db2_1 | Local database alias = DBTEST
db2_1 |
db2_1 | DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.
db2_1 | DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.
...
url:
jdbc:db2://localhost:50000/dbtest
Menu
SQL Editor
->New SQL script
。
输入以下SQL来创建表:STUDENTS
.
CREATE TABLE STUDENTS (
id INT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INT,
grade VARCHAR(10),
email VARCHAR(100),
enrollment_date DATE
);
ininsertdata
输入以下SQL插入数据:
INSERT INTO STUDENTS (name, age, grade, email, enrollment_date)
VALUES
('DB2 Alice', 20, 'A', '[email protected]', '2025-03-07'),
('DB2 Bob', 22, 'B', '[email protected]', '2025-02-10'),
('DB2 Charlie', 21, 'A', '[email protected]', '2025-03-02'),
('DB2 David', 23, 'C', '[email protected]', '2025-03-06'),
('DB2 Eva', 20, 'B', '[email protected]', '2025-03-07');
执行SQL脚本
视图和数据
Menu
Refresh
现在,您可以看到:
STUDENTS
选择表:STUDENTS
View Table
选择选项卡:Data
选择
用示例表和数据创建数据库dbtest
输入DB2容器名称
ER Diagram
docker ps
docker_db2_db2_1
在容器中切口用户
docker exec -it docker_db2_db2_1 bash
删除数据库su - db2inst1
dbtest
db2 force applications all
db2 drop database dbtest
并包括示例表和数据。
dbtest
等待直到结束
db2sampl -dbpath /database/data -name dbtest -sql -force -verbose
带有示例表和数据