QT 操作oracle数据库遇到的问题

一、首先参考官方文档:

http://qt-project.org/doc/qt-4.8/sql-driver.html#qoci

二、编译驱动:

http://www.tuicool.com/articles/IFzIji


三、重要的一点:一定要安装oracle client:否则还是提示驱动加载失败

http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip

四、oracle数据库管理命令:

在向导下 建立数据库
 
sqlplus下
-- 用system用户登录
sqlplus system/oracle@orcl
-- 创建表空间
create tablespace longs datafile 'D:\long.dbf' size 100M autoextend on;
--创建用户hll 密码hll
create user hll identified by hll default tablespace longs;
--授权
grant dba to hll;

-- 退出用hll用户登录
sqlplus hll/hll@orcl
创建表。

请按上面的步骤操作。

注意Oracle的一些基本概念。
表空间:是一个逻辑的概念,是属于所有用户共享的。
表:是属于创建他的用户的。


--查看表空间
select * from dba_tablespaces ;
--查看用户下的表:
select * from user_tables;
--查字段数:
select count(1) from user_tab_cols where table_name = 'HELP'

select count(*) from help;
select count(1) from help;

--修改表的某一列名字
alter table test rename column DEPT to DEPT_OLD; 

--往表中增加新的一列
alter table tb3 add AGE number;


select * from v$database;--看数据库名称
select * from v$instance;--看数据库名称
select name from v$database;
select instance_name from v$instance; 


select name from v$controlfile;







D:\oracle\product\10.2.0\oradata




=====================================================
备份导出:
D:\oracle\product\10.2.0\db_1\BIN>exp hll/hll@orcl file=C:\hll.dmp;

导入
D:\oracle\product\10.2.0\db_1\BIN>imp hll1/hll1@orcl  file= C:\hll.dmp;


报异常
Import: Release 10.2.0.1.0 - Production on 星期五 12月 9 10:20:31 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

经由常规路径由 EXPORT:V10.02.01 创建的导出文件

警告: 这些对象由 HLL 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
IMP-00031: 必须指定 FULL=Y 或提供 FROMUSER/TOUSER 或 TABLES 参数
IMP-00000: 未成功终止导入




oracle dmp 要求是低版本导出,高版本导入


导入语句 dmp后要有 分号。
D:\oracle\product\10.2.0\db_1\BIN>imp hll/hll@orcl file= C:\hll.dmp; full=y;





==========================================================
Plsql下tools下导入.dmp文件,
 Import Tables
 

导出成.dmp
 Export tables
 


导进.sql文件

Tools
Import Tables
SQL Inserts下




http://blog.sina.com.cn/s/blog_5892bb180100vjo2.html



 





五、使用navicat链接oracle遇到的问题:

Oracle 10G数据库中"ORA-12541: TNS:no listener"报错解决办法

解决办法:

  首先重启下对应的数据库监听服务(OracleOraDb<?xml:namespace prefix = st1 />10g_home1TNSListener)和数据库服务(OracleServiceORCL),如果还没解决,就按下面的进行操作:

   1.打开%Oracle安装目录%/network/admin/listener.ora文件(C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
   2.
添加:
(SID_DESC = 

    (GLOBAL_DBNAME = ORCL) 

    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)   

    (SID_NAME = ORCL) 

    ) 
   3.
最后文件改成 
SID_LIST_LISTENER = 

(SID_LIST = 

    (SID_DESC = 

      (SID_NAME = PLSExtProc) 

      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) 

      (PROGRAM = extproc) 

    ) 

   (SID_DESC = 

    (GLOBAL_DBNAME = ORCL) 

    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)   

    (SID_NAME = ORCL) 

    )



LISTENER = 

(DESCRIPTION_LIST = 

    (DESCRIPTION = 

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.14(这里改回来))(PORT = 1521)) 

    ) 


Navicat Premium连接oracle数据库时报错"ORA-12737 set ZHS16GBK"

首先,我们打开“tools”-->"options"菜单,见到如下界面,依据OCI library(oci.dll) 路径,导航到navicat oci目录下,备份里面的文件(通过在该目录新建bak文件夹,将“%dir%/Navicat Lite\instantclient_10_2”路径下的所有dll文件剪切到bak文件夹)。

3、在oracle 客户端安装目录bin/目录下,找到如下几个.dll文件
4、将上面所列文件copy到“%dir%/Navicat Lite\instantclient_10_2” 目录下,重新启动navicat即可。


你可能感兴趣的:(QT 操作oracle数据库遇到的问题)