【tool】关于oracle数据库的安装与使用

oracle安装

官方下载地址:
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

在这里插入图片描述

下载完解压,点击 setup.exe 安装,一路下一步即可

在这里插入图片描述

注:设置口令(密码)的时候,官方建议是大小写+数字,不要加特殊字符,否则之后会登录错误

oracle使用

打开 cmd ,以 dba 身份无密码登录

# dba 无密码登录
sqlplus / as sysdba;
# system 用户密码登录
sqlplus system/password

查看当前数据库连接用户

show user;

查看哪些用户拥有 SYSDBA、SYSOPER 权限

select * from V_$PWFILE_USERS;

查看所有数据库

select name from v$database;

进入 db 数据库

database db;

查看当前库的所有数据表

select TABLE_NAME from all_tables;

增加数据库用户 admin/admin

create user admin identified by admin default tablespace users Temporary TABLESPACE Temp;

用户授权

grant connect,resource,dba to admin;
grant sysdba to admin;
commit;

更改数据库用户的密码,将 system 的密码改为 password

alter user system indentified by password;

关于报错

ORA-01727: numeric precision specifier is out of range(1 to 38)

在这里插入图片描述

该情况为字段类型长度超过最大精度,只需检查所设类型为整型的字段长度是否过大即可,如下:

在这里插入图片描述
在这里插入图片描述

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

在这里插入图片描述
该情况为数据库服务名填写错误,使用正确的数据库服务名即可
1、开始 -> 运行 -> 输入 “services.msc” 打开服务
在这里插入图片描述
2、找到 “Oracle*TNSListener” ,并查看到对应服务名为 “XE”
在这里插入图片描述
3、使用 navicat 连接成功
在这里插入图片描述

ORA-12541: TNS:no listener

在这里插入图片描述

方法一:放通端口

该情况是由于防火墙阻拦,导致无法访问服务,将数据库端口加入防火墙规则即可

在这里插入图片描述

方法二:重置监听服务

该情况原因不明,只需把监听服务重新配置一遍即可,实际无配置改动
1.打开 “Net Configuration Assistant”

img

2.选择监听程序配置,下一步
img

3.选择重新配置,下一步

img

4.选择监听程序,默认,下一步

img

注:如果你的监听服务已启动,则出现提示框,选择是即可

img

5.选择协议,使用默认的TCP协议,下一步

img

6.选择端口号,使用标准端口号1521,下一步

img

7.不配置另一个监听程序,选择否,下一步

img

8.监听程序配置完成即可

img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
进行连接? QT可以通过使用QSqlDatabase类和QSqlQuery类来连接Oracle数据库。首先,您需要安装Oracle的驱动程序。这可以通过在QT的安装目录下执行Qt Maintenance Tool并选择“添加或删除组件”来完成。 安装Oracle驱动程序后,您可以按照以下步骤进行连接: 1. 在代码中包含以下头文件: ``` #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> ``` 2. 创建一个QSqlDatabase对象,并设置连接属性: ``` QSqlDatabase db = QSqlDatabase::addDatabase("QOCI"); db.setHostName("hostname"); db.setDatabaseName("databasename"); db.setUserName("username"); db.setPassword("password"); ``` 其中,QOCI是Oracle的驱动程序名称。您需要将“hostname”替换为您的主机名,“databasename”替换为您的数据库名称,“username”替换为您的数据库用户名,“password”替换为您的数据库密码。 3. 打开数据库连接: ``` if (!db.open()) { qDebug() << "Failed to connect to database:" << db.lastError().text(); } ``` 4. 如果连接成功,则可以使用QSqlQuery类执行SQL查询: ``` QSqlQuery query("SELECT * FROM mytable", db); while (query.next()) { QString name = query.value("name").toString(); int age = query.value("age").toInt(); qDebug() << "Name:" << name << "Age:" << age; } ``` 这里假设您的数据库中有一个名为“mytable”的表,其中包含“name”和“age”两个列。 请注意,您需要在代码中包含相应的驱动程序库,例如OCI.dll或libclntsh.so,取决于您的操作系统和QT编译方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值