开始在自己的网站上发布自己的东西了,可以好好的总结下学习的东西,也好与大家一起分享和讨论,欢迎大家提出宝贵意见

预览模式: 普通 | 列表

在Excel里把字母转换为大写或小写

在Excel里把字母转换为大写或小写

在同一个工作簿中新建一个空白的工作表,假设原来的工作表是 Sheet1,新的工作表示 Sheet2,在Sheet2的A1单元格输入=upper(Sheet1!A1),也就是在Sheet1的A1单元格的内容转换为大写,(同样,要是进行小写转换就是=lower(Sheet1!A1)。)并在Sheet2的A1的单元格中,这就达到了我们想要的效果,可是如果都是这么一个一个的来做的话是太累了啊。并且Excel也没有这么傻吧,在Sheet2里的A1单元格的右下角拖放就可以把所有的内容都进行转换过来了,是不是很好啊。
在这还有个小的办法来进行转换,当然是要借助Word了,我们知道在Word里有Shift+F3可以进行字母大写、小写及首字母大写的转换的功能。我们可以把Excel里的要转换的内容Copy到Word里,选择上要转换的内容,Shift+F3就可以实现我们想要的效果了。最后Copy回Excel就OK了。

Tags: 在Excel里把字母转换为大写或小写

分类:Application | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 41
ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL

我们想要查看某个表或者是表空间的DDL的时候,我们就可以利用dbms_metadata.get_ddl这个包来查看。
可是很容易出现ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL的错误
在这给大家用实例的方法来解答。

首先我们先做个实验
SQL> select dbms_metadata.get_ddl('table','
table_dbms') from dual;
ERROR:
ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL
ORA-06512: at "SYS.DBMS_METADATA", line 2682
ORA-06512: at "SYS.DBMS_METADATA", line 2733
ORA-06512: at "SYS.DBMS_METADATA", line 4333
ORA-06512: at line 1

no rows selected

Elapsed: 00:00:00.07

SQL>
这里我们发现我们重现了这个错误,究竟是为什么呢?根据提示我们知道是由于参数的问题导致的。
我们知道我们要查的东西是没有写错的,就是改个大小写吧,我们改了我们要查的表名。结果呢?

SQL> select dbms_metadata.get_ddl('table','TABLE_DBMS') FROM DUAL;
ERROR:
ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL
ORA-06512: at "SYS.DBMS_METADATA", line 2682
ORA-06512: at "SYS.DBMS_METADATA", line 2733
ORA-06512: at "SYS.DBMS_METADATA", line 4333
ORA-06512: at line 1

no rows selected

Elapsed: 00:00:00.04

SQL>
结果还是不对。我们继续做实验,把TABLE改了。
SQL> select dbms_metadata.get_ddl('TABLE','table_dbms') from dual;
ERROR:
ORA-31603: object "
table_dbms" of type TABLE not found in schema "ORACTL"
ORA-06512: at "SYS.DBMS_METADATA", line 1548
ORA-06512: at "SYS.DBMS_METADATA", line 1585
ORA-06512: at "SYS.DBMS_METADATA", line 1902
ORA-06512: at "SYS.DBMS_METADATA", line 2793
ORA-06512: at "SYS.DBMS_METADATA", line 4333
ORA-06512: at line 1

no rows selected

Elapsed: 00:00:00.02

SQL>
问题依旧,我们最后把所有的参数都改成了大写,现在是什么结果呢,让我们都很高兴的,我们看到了我们想要的东西了^_^
SQL> select dbms_metadata.get_ddl('TABLE','TABLE_DBMS') FROM DUAL;

DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS')
--------------------------------------------------------------------------------

  Create TABLE "ORACTL"."TABLE_DBMS"
   (    "ID" NUMBER(*,0),
        "NAME" CHAR(10)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "ORACTL_DB"

Elapsed: 00:00:00.33

SQL>
DBMS_METADATA.GET_DDL默认的是查看当前用户的信息,如果你以用户A来查看用户B的表要在dbms_metadata.get_ddl的第三个参数里加上表/表空间的属主,否则就会报ORA-31603: object "TABLE_DBMS" of type TABLE not found in schema "ORACTL"的错误。
下面的例子就是我们在SYSDBA下看用户ORACTL表TABLE_DBMS的DDL结果
SQL> conn /as sysdba
Connected.
SQL> select dbms_metadata.get_ddl('TABLE','TABLE_DBMS','ORACTL') from dual;

DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS','ORACTL')
--------------------------------------------------------------------------------

  Create TABLE "ORACTL"."TABLE_DBMS"
   (    "ID" NUMBER(*,0),
        "NAME" CHAR(10)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "ORACTL_DB"

SQL>

有的时候你会发现得到的结果明显是有问题,少了很多想要的信息,这时候就改动下你的显示长度,因为SQL * PLUS 默认的long是80。所以你要用set long 9999来设置你要显示的长度,上面的例子是set long 10000的结果,下面是set long 100 的例子。
SQL> set long 100
SQL> select dbms_metadata.get_ddl('TABLE','TABLE_DBMS','ORACTL') from dual;

DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS','ORACTL')
--------------------------------------------------------------------------------

  Create TABLE "ORACTL"."TABLE_DBMS"
   (    "ID" NUMBER(*,0),
        "NAME" CHAR(10)
   ) PCTFREE 10 PCTUSE

SQL>

在这总结下
1)dbms_metadata.get_ddl()包()内的参数都要大写
2)是否查的当前用户的DDL,不是要加上对象的属主信息。
3)看得到的信息是否都显示出来了?看看你的终端设置是否正确,set long 9999(随便设置他的大小,就是为了完全显示查找的结果)

Tags: ORA-31600 ORA-31603 invalid input value

分类:Oracle | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 81

TNS-12541: TNS:no listener

TNS-12541: TNS:no listener

Envoriment: Linux AS4 oracle 10.2.0.1 (rac1, standby1)
Today I want to through my test program to link rac1 on standby1 by oracle client, it prompt
ORA-12541: TNS no listener

The offical explanation is:

ORA-12541: TNS:no listener
Cause: The connection request could not be completed because the listener is not running.
Action: Ensure that the supplied destination address matches one of the addresses used by the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on the remote machine.

I think there are four possibilities for this case

查看更多...

Tags: TNS-12541 TNS:no listener

分类:Oracle | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 127

Linux Unix 屏幕记录

Linux Unix 屏幕记录

在Linux或者Unix终端下,尤其是在我们测试的时候,总是想把操作日志记录下来。
在这给大家介绍几种方法。常用的命令有screen、script、tee等等。

我实验的平台是Linux AS4、OpenBSD和Solaris,命令后的系统是说明在这个系统上是好用的。就测试了这3个系统。我想这也能够很有代表性了吧。

No.1
screen:Linux AS4
screen:screen manager with VT100/ANSI terminal emulation

查看更多...

Tags: Linux Unix 屏幕记录

分类:Liunx/Unix | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 108

今天收到了UC的ipod nano好激动啊

今天收到了5月份在UC网站的中奖奖品,呵呵,是个ipod nano ,开始说是个shuffle来,后来换成nano了,还是个4G的,开心,呵呵

分类:Life | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 112