admin 发表于 2011-03-04 19:34 浏览次数:
我在开发机上装了oracle10g的服务端和客户端,这样的话在d:\oracle\product\10.2.0\client_1\network\admin\和d:\oracle\product\10.2.0\db_1\network\admin\目录下都有tnsnames.ora文件。
正常情况下程序中配置服务名是读取client_1目录下的tnsnames.ora文件,但不知道为什么有一个程序不是读取client_1目录下而是db_1目录下的tnsnames.ora文件,记得以前是正常的,不知道哪里配置的问题。
不知怎么处理,搞不清楚这两者之间的关系。
分类:
Oracle | 评论数:
15 |
阅读全文
admin 发表于 2011-03-04 17:40 浏览次数:
由于项目组的数据库出现了问题,两个库,db1 db2。现在是db1正常,2不正常。同时2出现了以后的错误提示。烦请各位赐教
分类:
Oracle | 评论数:
2 |
阅读全文
admin 发表于 2011-03-04 17:39 浏览次数:
【问题求助】python 连接oracle数据库时老是报错:InterfaceError: Unable to acquire Oracle environment handle
import os
import cx_Oracle
dsn=cx_Oracle.makedsn(‘172.30.10.183′,1521,’orcl’)
cnn=cx_Oracle.connect(‘bmsb05′,’coship’,dsn)
cursor=cnn.cursor()
当前的运行环境:
python:python-2.5.4.msi
cx_Oracle:cx_Oracle-5.0.2-10g.win32-py2.5.msi
oracle:10.2.0.1
根据网上的资料,完成如下操作(结果还是不成功)
(1)、下载instantclient-basic-win32-10.2.0.4.zip、instantclient-jdbc-win32-10.2.0.4.zip、instantclient-sqlplus-win32-10.2.0.4.zip,并将其解压到E:\OracleClient\instantclient_10_2下
(2)、设置系统变量:ORACLE_HOME=E:\OracleClient\instantclient_10_2 PATH=E:\OracleClient\instantclient_10_2
运行时出现如下错误:InterfaceError: Unable to acquire Oracle environment handle
分类:
Oracle | 评论数:
5 |
阅读全文
admin 发表于 2011-03-04 17:39 浏览次数:
在树结果中,别人用到Oracle用Start with…Connect By子句递归查询,大家有什么好的优化方案?谢谢!
如 select * from persons.dept start with deptid=xx connect by prior paredeptid=deptid
分类:
Oracle | 评论数:
7 |
阅读全文
admin 发表于 2011-03-04 17:39 浏览次数:
已知 15=2的3次方+2的2次方+2的1次方+2的0次方
7=2的2次方+2的1次方+2的0次方
17=2的4次方+2的0次方
16=2的4次方
要根据sql或者函数 查出 15的结果为“0,1,2,3”; 查7的结果为“0,1,2”
求教 这个sql或者函数该如何写?
分类:
Oracle | 评论数:
3 |
阅读全文
admin 发表于 2011-03-04 17:39 浏览次数:
SQLMonitor能监控toad里的东西,现在我用他来监控PB做的程序,在application选中了之后就卡死了,请问下需要什么设置吗?
分类:
Oracle | 评论数:
2 |
阅读全文
admin 发表于 2011-03-04 17:39 浏览次数:
如题请高人指点,我想在进入了
>sql @/home/oracle/MACRO_TRANSFER_LOG.SQL
出现了“SP2-0640: Not connected”
请问如何解决
分类:
Oracle | 评论数:
2 |
阅读全文
admin 发表于 2011-03-04 17:39 浏览次数:
最近我在linux上装了oracle11g,发行的第2版。现在登录数据库的时候,我用:
sqlplus system/oracle@orcl 命令行 不能登录数据库,但提示我输入用户名和密码,我输入的用户名是system,密码是oracle,这样的话我就成功登录。
我在windows上的客户端登录数据库报ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
请问大师们,这个到底是怎么回事,怎样解决这样的问题。本人是个刚接触数据库的菜鸟。
linux下的 listener.ora的文件内容:
# listener.ora Network Configuration File: /opt/oracle/product/11gR1/db/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
linux下的tnsnames.ora文件内容:
# tnsnames.ora Network Configuration File: /opt/oracle/product/11gR1/db/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =http://topic.csdn.net/u/20110302/23/
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.250.64.25)
)
)
windows客户端的tnsnames.ora内容:
# tnsnames.ora Network Configuration File: G:\oracle\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521))
)
(CONNECT_DATA =http://topic.csdn.net/u/20110302/23/
(SERVICE_NAME = orcl.250.64.25)
)
)
分类:
Oracle | 评论数:
3 |
阅读全文
admin 发表于 2011-03-04 17:20 浏览次数:
- SQL code
-
create table t(msg varchar2(10),num_col number(5,-2));
insert into t(msg,num_col) values('123.45',123.45);
insert into t(msg,num_col) values('123.45',123.456);
insert into t(msg,num_col) values('1234567',123456);
insert into t(msg,num_col) values('1234567',1234567);
select * from t;
MSG NUM_COL
---------- -------
123.45 100
123.45 100
1234567 123500
1234567 1234600
insert into t(msg,num_col) values('1234567',12345678)
ORA-01438: value larger than specified precision allows for this column
书上这么说:
number (p , s)
p:精度,或总位数
s:小数位数
我上面定义的是num_col number(5,-2),也就是能存5位的整数。
但是:
insert into t(msg,num_col) values('1234567',1234567)能成立,
insert into t(msg,num_col) values('1234567',12345678)就不成立了,也就是说我的num_col列能存的位数是7位数。
那么具体怎么计算这个number类型的数据列能存的数的位数呢?
分类:
Oracle | 评论数:
5 |
阅读全文
admin 发表于 2011-03-04 17:20 浏览次数:
本小弟不才
望学习oracle
请问湖南地区有官方授权的培训机构么?
望业内人士指点
分类:
Oracle | 评论数:
8 |
阅读全文
admin 发表于 2011-03-04 17:20 浏览次数:
打开“我的电脑”-“控制面板”-“管理工具”-“数据源ODBC”-“用户DSN”,
第一步: 点击“添加”按钮
第二步: 选择其中的“Oracle in oradb10g_home1”
第三步: 点击“完成”按钮
点击[完成] 按钮后,系统会弹出一个错误对话框,提示“无法加载oracle in oradb10g_home1 odbc驱动程序的安装例程,因为存在系统错误代码998” 。
大家说是为什么啊?昨天还好好的?从来没碰到过这种问题.
分类:
Oracle | 评论数:
9 |
阅读全文
admin 发表于 2011-03-04 17:20 浏览次数:
麻烦问下C#操作Oracle时能不能想操作sqlserver一样在CommandText中写这样的“Exec 存储过程名 参数1,参数2”语句,还是只能通过添加OracleParameter的方式来调用存储过程。
分类:
Oracle | 评论数:
2 |
阅读全文
admin 发表于 2011-03-04 17:01 浏览次数:
现在想用procob预编译cobol文件,装了oracle,没有procob.exe文件。oracle安装的时候,我把oracle服务器和客户端装在同一台pc上,而且我已经把oracle programing 10.2.0.1重新安装过。还是不行。哪位高手能否指导一下。
分类:
Oracle | 评论数:
1 |
阅读全文
admin 发表于 2011-03-04 17:01 浏览次数:
本地安装oracle服务器,本地可以正常的访问本地的数据库表空间,可是局域网中其他机器无法连接到我的机器的oracle服务?请问大家知道原因么?
分类:
Oracle | 评论数:
6 |
阅读全文
admin 发表于 2011-03-04 17:01 浏览次数:
表A
序号 修改日期 间隔时间 下次修改日期 是否超期 是否允许修改
1 2008-9-1 5 2009-2-1 是 是
2 2010-12-1 5 2011-4-1 否 是
3 2009-1-1 2 2009-3-1 是 否
要求在上表中,对所有“允许修改”的字段进行计算,规则是:在人为修改 “修改日期” 内容的基础,执行一个函数
函数将 “修改日期 + 间隔时间” 放到 “下次修改日期”字段里面(规则:“修改日期”上加上“间隔时间”(以月为单位),如果检修的时间在一个月的5号之前,就必须把算出来的时间提前到上个月的月末倒数第三天。
还需要计算“是否超期”,计算的原则是 “允许修改” 的字段,它的“下次修改时间 ”如果比当前时间要早,就设为 超期 ,否则设为 F。)
这个函数怎么写?
谢谢
分类:
Oracle | 评论数:
7 |
阅读全文
admin 发表于 2011-03-04 17:00 浏览次数:
在Oracle开发过程中,经常遇到多个关联表的问题,在实际使用过程中如何对关联表进行排序,麻烦高手指教下。谢谢!
例如,有表L,C,E,L与E关联,E与C关联
查询语句:
select * from L,C,E where L.L1=E.L1 and C.C1=E.C1 和
Select * from L join E on L.L1=E.L1 join C on C.C1=E.C1
两种写法的查询的效率哪个更高些?
另外,如果3个表的数据量大小差异很大,该怎么写才最高效?
分类:
Oracle | 评论数:
12 |
阅读全文
admin 发表于 2011-03-04 17:00 浏览次数:
最近遇到一个很诡异的现象:
在存储过程中写入一张表的数据,语句很简单,就是insert …… select …… where……
在where 条件中一旦使用了过程的传入参数,执行就非常慢(无法忍受的慢)
如果将insert 语句拼成字符串,动态执行,则没有上述问题,
如果将过程中的sql语句提出,where条件中
这就是SQL解析中的软硬解析问题
where 条件中一旦使用了过程的传入参数 这样每次Oracle都会去解析这个SQL,属于硬解析
而采用动态SQL拼接或者where条件固定,就只需解析一次
因此你说的慢,主要在于解析时间耗费较多
我的代码中没有循环,只执行一次。。。。就是说无论如何都会解析一次啊。
另外,这样的语句在相同的环境中已经执行了很多次了,就是最近才出现的。
不知道是不是系统上出了什么问题啊。。。