2016年11月

PL/SQL Developer 不用Windows管理员权限连接ORACLE的方法。

我现在用的是Windows 10 的操作系统,这系统比较蛋疼的地方就是,UAC经常弹出很烦,但是关了UAC又感觉很危险。权限不好控制。这就导致了我经常要面对屏幕暗下-》亮起的这么一种切换中,用眼疲劳啊。。

在用PLSQL 的过程中,很明显我不需要赋予PLSQL管理员权限,但是我发现必须赋予其管理员权限才能正确连接上我的ORACLE数据库,否则提示框是一片空白。。

为此我做了多番尝试终于解决了该问题。

步骤如下,找到ORACLE 客户端的tnsnames.ora

例如:X:\\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora

右键该文件-->属性-->安全-->在组或用户名中选择:Authenticated Users。点击编辑。

在弹出的窗口中,选中组或用户名中的Authenticated Users ,在权限中勾选完全控制。点击应用即可。

如果PLSQL已经开启了,请关闭后再开。

====2018-08-07 09:25

有些时候有用,有些时候没有用,妈蛋

Oracle 使用MERGE INTO 语句更新数据

/*Merge into 详细介绍
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。

通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,
连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。
这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。 
*/
/*语法:
MERGE [INTO [schema .] table [t_alias] 
USING [schema .] { table | view | subquery } [t_alias] 
ON ( condition ) 
WHEN MATCHED THEN merge_update_clause 
WHEN NOT MATCHED THEN merge_insert_clause;
*/
merge into users
using doctoron (users.user_id = doctor.doctorid)when matched then
  update set users.user_name = doctor.doctornamewhen not matched then
  insert
  values
    (doctor.doctorid,
     doctor.doctorid,     '8736F1C243E3B14941A59FF736E1B5A8',
     doctor.doctorname,
     sysdate,     'T',     ' ',
     doctor.deptid,     'b319dac7-2c5c-496a-bc36-7f3e1cc066b8');

放弃Notepad++转战Visual Studio Code

程序员换编辑器总是很难的,用Notepad++ 很多年了,早已经得心应手,但是也明白了,Notepad++早已经跟不上时代,注定会被时代淘汰。

体验过sublime text ,插件管理功能很强大,命令输入很快速。奈何不是开源,不选择。

体验过Atom , 同样插件功能强大,命令输入快速流畅,奈何Git码农不给力,稍微打开大点文本就慢,慢慢慢。

体验过....

- 阅读剩余部分 -

从搜狗问问上扒数据

简单计算了下,扒了10多万的数据下来了

1条记录大概有10KB.

10多万数据从2007-05开始,大概跑了20天左右。

算下。一年18.25个10万,1825,000 .

再乘上9年(至今2007-2016年)。

16,425,000

当然这里的是理想状态我乱算的,按照这个数量乘上每条占用的空间

16425000*10=164250000KB

164250000/1024=160400.390625MB

160400.390625MB/1024=156.6410064697266 GB

理想状态下数据量也不是很大嘛

再排除掉一些无用的数据。

另外把整体的数据量再翻几翻。

我估计要翻个4-5倍

另外占了10KB这个是简单的文本存储。还没有涉及到数据库。如果涉及到数据库的话,可以通过范式进行减小表容量。

===2018-08-07 09:26

我后面发现,实际下载后,大小大大超过了156GB.。。。