随笔分类 -  DataBase

1
摘要:错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。这里主要是防火墙问题,解决办法:(1)关闭防火墙;(2)在防火墙中添加,orcale端口1521例外。 阅读全文
posted @ 2013-03-17 11:29 gisdream 阅读(9772) 评论(0) 推荐(0) 编辑
摘要:在服务器上安装Oracle10g,这个版本我已经安装过很多遍了,以为绝对轻松,可谁知道,在新建数据库的时候出现了错误:“由于以下错误,Enterprise Manager配置失败-启动 DBConsole时出错。DBConsole启动失败您可以以后通过手动D:\oracle\product\10.1.0\Db_1\bin\emca 脚本,重新使用 Enterprise Manager 配置此数据库”,如下图所示: 因此我安装错误提示找到emca脚本运行,结果一闪而过,没有信息。看到有人说,这个不影响使用,因此我试了一下,在sqlplus中的确可以连上数据库,但是,Net Manager中OR. 阅读全文
posted @ 2012-11-01 10:15 gisdream 阅读(577) 评论(0) 推荐(0) 编辑
摘要:PL/SQL远程连接oracle服务器出现ora-12541 TNS:无监听出现12541错误(无监听程序)时可修改app\user\product\11.1.0\db_1\network\admin\listener.ora文件 LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) )将localhost改为IP地址或者主机名同时更改客户端ap 阅读全文
posted @ 2012-07-26 16:46 gisdream 阅读(8015) 评论(0) 推荐(0) 编辑
摘要:1。select * from v$nls_parameters 查询nls的参数,获得数据库服务器端的字符编码 NLS_LANGUAGE NLS_CHARACTERSET 2。修改本地环境变量,设置或者添加 NLS_LANG = SIMPLIFIED CHINESE.ZHS16GBK //这个是我们的数据库字符编码 NLS_LANG格式: NLS_LANG = language_territory.charset 有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。 territory 指定服务器的日期和数... 阅读全文
posted @ 2012-06-09 16:01 gisdream 阅读(335) 评论(0) 推荐(0) 编辑
摘要:SQL> set serveroutput on;SQL> SQL> DECLARE 2 v_count NUMBER; 3 v_id NUMBER := 1004; 4 v_name VARCHAR2(20) := '唐僧'; 5 v_age NUMBER := 500; 6 BEGIN 7 EXECUTE IMMEDIATE 'insert into tem_user values(:1,:2,:3)' 8 USING v_id, v_name, v_age; 9 --使用sql%rowcount取得影响的行数 10 dbms_output 阅读全文
posted @ 2012-05-25 16:25 gisdream 阅读(1339) 评论(0) 推荐(0) 编辑
摘要:在网上找了很久,看到有几种实现方法,其中以下面的这种方法最为适合,/**用pipe函数实现字符串分割**/CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (20);/CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)RETURN ty_str_split PIPELINEDIS j INT := 0; i INT := 1; len INT := 0; len1 INT := 0; str VARCHAR2 (4000) 阅读全文
posted @ 2012-05-22 14:49 gisdream 阅读(4997) 评论(0) 推荐(0) 编辑
摘要:好处:1、不安装客户端也能访问服务器上的oracle(假设Application Server与DB Server 分开)2、不需要安装ODAC3、不需要配置TnsNames.Ora文件缺点:不能使用odac for .net中对应的工具步骤:如果不安装Oracle11g的客户端则需要在程序的debug目录下拷贝如下几个dll文件oci.dlloracle.dataaccess.dlloraops11w.dlloraociei11.dll这几个文件可以从下载的ODAC安装包中找到,我下载的是ODTwithODAC112030.zip,由于这些文件都放在..\stage\Components\. 阅读全文
posted @ 2012-05-19 16:56 gisdream 阅读(9110) 评论(1) 推荐(0) 编辑
摘要:Oracle 数据访问组件 (ODAC) 全称:Oracle Data Access Components优点:由于微软在.net framework4中会将System.Data.OracleClient.dll deprecated,而且就访问效率和速度而言,System.Data.OracleClient.dll与 Oracle.DataAccess.dll相比,微软的确实没有oracle提供的类库有优势,所以我放弃了使用多年的 System.Data.OracleClient.dll,取而代之的是odp.net1. ODAC的安装服务器端:0racle10g,11g 都行客户端:ora 阅读全文
posted @ 2012-05-19 16:53 gisdream 阅读(33289) 评论(4) 推荐(2) 编辑
摘要:转自:http://qing.weibo.com/tj/5445fc0f330001xg.htmlSQL> exec p_create_table;ORA-01031: 权限不足即使拥有DBA role,也不能创建表。role在存储过程中不可用。遇到这种情况,我们一般需要显式进行系统权限,如grant create table to eu_user;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。create or r 阅读全文
posted @ 2012-05-16 17:14 gisdream 阅读(5609) 评论(0) 推荐(0) 编辑
摘要:最近项目用到了oracle,使用的是oracle10g,因为小组内有多人使用数据库,并且oracle数据库很占内 存,就放在单独的一台服务器上,所以最好每个人都装一个oracle10g的客户端。那么客户端到数据库的远程访问时免不了的了。其实远程访问很简单,但是我在实施的过程确实无比的艰辛。网上好像根本就没有什么类似的资料。自己好不容易装好了,就写下来,希望对需要的人有点用。我的oracle服务器所在的系统是windows2003,客户端所在的系统是XP的。1. 在服务器端建立数据库,比如叫WebSite。(最好别超过8个字符,自己试验过,超过一定字符的话,远程访问的时候输入服务名,会显示服务名 阅读全文
posted @ 2012-05-02 15:45 gisdream 阅读(3666) 评论(0) 推荐(0) 编辑
摘要:转自(http://space.itpub.net/?uid-12932950-action-viewspace-itemid-662514)Oracle 自定义TYPE 的几种用法Oracle中的类型有很多种,主要可以分为以下几类:1、字符串类型。如:char、nchar、varchar2、nvarchar2。2、数值类型。如:int、number(p,s)、integer、smallint。3、日期类型。如:date、interval、timestamp。4、PL/SQL类型。如:pls_integer、binary_integer、binary_double(10g)、binary_fl 阅读全文
posted @ 2012-04-13 15:41 gisdream 阅读(25940) 评论(0) 推荐(0) 编辑
摘要:oracle嵌套表示例(转自:http://www.cnblogs.com/starzhao/archive/2010/05/19/1739234.html)----嵌套表:就是把一个表中的字段定义为一个表,这个字段表的数据存储在外部的一个表中, 例如下例嵌套表中的数据存储在required_tab表中。----嵌套表可以有效地代替多个表之间的连接create type bookobj as object(title varchar2(40),author varchar2(40),catalog_number number(4));/create type booklist as tabl. 阅读全文
posted @ 2012-04-13 09:57 gisdream 阅读(7615) 评论(0) 推荐(0) 编辑
摘要:本文代码转自http://brianyuzhao.iteye.com/blog/379823时态数据库是种以时间为基础的数据库,它所实现的不仅仅是对当前数据库的处理,也可以对过去和未来进行处理。A temporal database is a database with built-in time aspects, e.g. a temporal data model and a temporal version of structured query language.该代码在Oracle11g 执行工具:PL/SQL Developer中测试通过测试时最好新建一个用户,具体步骤如下:(1) 阅读全文
posted @ 2011-12-23 16:51 gisdream 阅读(380) 评论(0) 推荐(0) 编辑
摘要:1、在oracle的sqlplus或其他工具中运行一下pl/sql块建立存储过程--------------------------------------------------------------分页存储过程--------------------------------------------------------------创建包create or replace package testpackage astype test_cursor is ref cursor;end testpackage;/ --创建过程create or replace procedure feny 阅读全文
posted @ 2011-11-16 20:27 gisdream 阅读(4103) 评论(2) 推荐(0) 编辑
摘要:一、Oracle方面 1.创建Oracle过程存储 1) 创建表create table users(usesNo number,userName varchar(50));2) 创建包CREATE OR REPLACE PACKAGE MultiRefCursors AS TYPE test_cursor IS REF CURSOR ; Procedure getRecord (p_cursor IN OUT test_cursor); END MultiRefCursors;/ 3) 创建存储过程create or replace package body MultiRefCursor.. 阅读全文
posted @ 2011-11-16 16:47 gisdream 阅读(773) 评论(0) 推荐(0) 编辑
摘要:1.解决sql server2008 身份验证登陆出错当sqlserver安装时使用的是windows 身份验证,如果要在安装后使用Sql server 身份验证,则必须先将登陆的验证模式改为混合身份验证。步骤是:先用windows 身份验证等于,然后在右键——属性,选择安全性,将服务器身份验证改sql server和windows身份验证模式设置以后要重启sqlserver服务2.设置用户名、密码一般在装sqlserver的时候会让选择登陆模式,如果选择windows身份模式登陆则不需要密码直接可以登陆,如果选择的是混合登陆模式,则需要设置一个sqlserver内置用户sa的登陆密码,但是这 阅读全文
posted @ 2011-06-11 21:11 gisdream 阅读(1164) 评论(0) 推荐(0) 编辑
摘要:/*日期函数*/DATEADD ( datepart , number, date ) --在向指定日期加上一段时间的基础上,返回新的 datetime 值。DATEDIFF ( datepart , startdate , enddate ) --返回跨两个指定日期的日期和时间边界数。DATENAME ( datepart , date )--返回代表指定日期的指定日期部分的字符串。DATEPART ( datepart , date ) --返回代表指定日期的指定日期部分的整数。DAY ( date ) --返回代表指定日期的天的日期部分的整数。GETDATE ( )--按 datetim 阅读全文
posted @ 2011-04-10 23:58 gisdream 阅读(1055) 评论(0) 推荐(1) 编辑
摘要:不同数据库获取新增加的主键值 数据库获取新增主键的查询语句DB2IDENTITY_VAL_LOCAL()InformixSELECT dbinfo('sqlca.sqlerrd1') FROM <TABLE>SybaseSELECT @@IDENTITYSqlServerSELECT SCOPE_IDENTITY()或SELECT @@IDENTITYMySqlSELECT LAST_INSERT_ID()HsqlDBCALL IDENTITY()CloudscapeIDENTITY_VAL_LOCAL()DerbyIDENTITY_VAL_LOCAL()Postg 阅读全文
posted @ 2011-04-02 19:30 gisdream 阅读(472) 评论(0) 推荐(0) 编辑
摘要:基本上所有的数据库现在都支持id自增,不知道为什么orcal这样一个数据库的龙头却不支持,但是刚听到一个比较好的解决办法:序列,还可以在上面加装触发器,下面是转载一不知名网友的介绍,希望留已备用,也希望对大家有用:以下的文章主要介绍的是Oracle序列与触发器的使用方案,在正题开始之前,我们要先加一些关于Oracle client sqlplus的具体使用,就是说假如你执行多行语句的话时一定要加“/”才能表示结束,并执行!!本次的目的是通过创建Oracle序列和触发器实现表的主键自增。首先创建Oracle序列,序列的语法格式为:CREATE SEQUENCE 序列名[INCREMENTBYn] 阅读全文
posted @ 2010-12-31 10:25 gisdream 阅读(5849) 评论(2) 推荐(0) 编辑
摘要:CONVERT将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在SQL Server中 将日期格式化.SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。不... 阅读全文
posted @ 2010-05-29 09:57 gisdream 阅读(218) 评论(0) 推荐(0) 编辑

1