Lv.的博客

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数据库管理命令:

 

[sql] view plaincopy
 
  1. 在向导下 建立数据库  
  2.    
  3. sqlplus下  
  4. -- 用system用户登录  
  5. sqlplus system/oracle@orcl  
  6. -- 创建表空间  
  7. create tablespace longs datafile 'D:\long.dbf' size 100M autoextend on;  
  8. --创建用户hll 密码hll  
  9. create user hll identified by hll default tablespace longs;  
  10. --授权  
  11. grant dba to hll;  
  12.   
  13. -- 退出用hll用户登录  
  14. sqlplus hll/hll@orcl  
  15. 创建表。  
  16.   
  17. 请按上面的步骤操作。  
  18.   
  19. 注意Oracle的一些基本概念。  
  20. 表空间:是一个逻辑的概念,是属于所有用户共享的。  
  21. 表:是属于创建他的用户的。  
  22.   
  23.   
  24. --查看表空间  
  25. select * from dba_tablespaces ;  
  26. --查看用户下的表:  
  27. select * from user_tables;  
  28. --查字段数:  
  29. select count(1) from user_tab_cols where table_name = 'HELP'  
  30.   
  31. select count(*) from help;  
  32. select count(1) from help;  
  33.   
  34. --修改表的某一列名字  
  35. alter table test rename column DEPT to DEPT_OLD;   
  36.   
  37. --往表中增加新的一列  
  38. alter table tb3 add AGE number;  
  39.   
  40.   
  41. select * from v$database;--看数据库名称  
  42. select * from v$instance;--看数据库名称  
  43. select name from v$database;  
  44. select instance_name from v$instance;   
  45.   
  46.   
  47. select name from v$controlfile;  
  48.   
  49.   
  50.   
  51.   
  52.   
  53.   
  54.   
  55. D:\oracle\product\10.2.0\oradata  
  56.   
  57.   
  58.   
  59.   
  60. =====================================================  
  61. 备份导出:  
  62. D:\oracle\product\10.2.0\db_1\BIN>exp hll/hll@orcl file=C:\hll.dmp;  
  63.   
  64. 导入  
  65. D:\oracle\product\10.2.0\db_1\BIN>imp hll1/hll1@orcl  file= C:\hll.dmp;  
  66.   
  67.   
  68. 报异常  
  69. Import: Release 10.2.0.1.0 - Production on 星期五 12月 9 10:20:31 2011  
  70.   
  71. Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  72.   
  73.   
  74. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production  
  75. With the Partitioning, OLAP and Data Mining options  
  76.   
  77. 经由常规路径由 EXPORT:V10.02.01 创建的导出文件  
  78.   
  79. 警告: 这些对象由 HLL 导出, 而不是当前用户  
  80.   
  81. 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入  
  82. IMP-00031: 必须指定 FULL=Y 或提供 FROMUSER/TOUSER 或 TABLES 参数  
  83. IMP-00000: 未成功终止导入  
  84.   
  85.   
  86.   
  87.   
  88. oracle dmp 要求是低版本导出,高版本导入  
  89.   
  90.   
  91. 导入语句 dmp后要有 分号。  
  92. D:\oracle\product\10.2.0\db_1\BIN>imp hll/hll@orcl file= C:\hll.dmp; full=y;  
  93.   
  94.   
  95.   
  96.   
  97.   
  98. ==========================================================  
  99. Plsql下tools下导入.dmp文件,  
  100.  Import Tables  
  101.    
  102.   
  103. 导出成.dmp  
  104.  Export tables  
  105.    
  106.   
  107.   
  108. 导进.sql文件  
  109.   
  110. Tools  
  111. Import Tables  
  112. SQL Inserts下  
  113.   
  114.   
  115.   
  116.   
  117. http://blog.sina.com.cn/s/blog_5892bb180100vjo2.html  
  118.   
  119.   
  120.   
  121.    

 

五、使用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即可。

posted @   Avatarx  阅读(544)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示