最近我用C#调用 操作oracle 数据库 出现了一个问题就是 我的查询语中的条件语句 含有中文 字符在C#中查询不了 ,但是在pl sql  中能够正常的查询出来. 这个原因是 C# 执行orccle  sql 编码的问题. 解决方法一: 在注册表里面  修改 NLS_LANG 这个的值就可以了   方法二  : 在C# 代码中 加载事件中添加下面的语句就可以了 :   System.Environment.SetEnvironmentVariable("NLS_LANG", &qu…
  带中文的Sql语句在.Net调用时, 中文变问号(可使用 SQL Tracker工具跟踪)   问题:       服务器的字符集与客户端的字符集不一致. 解决方法: 1.  查看服务端的字符集: 使用PL/Sql 执行 SELECT * FROM V$NLS_PARAMETERS . 这里的字符集为ZHS16GBK. 2. 设置客户端的字符集 运行REGEDIT,第一步选HKEY_LOCAL_MACHINE,第二步选择SOFTWARE, 第三步选择 ORACLE, 第四步选择 NLS_LA…
今天在写一个工具(winform),作用是批量的INSERT OR  UPDATE ORACLE数据库中的一个表. 执行的时候老是报错“[911] ORA-00911: invalid character” 我把SQL语句拷贝出来放到PL SQL中去执行,又是对的,因为测试时正好就一条语句,而且我生成语句的时候每句末尾都加了";". 百度了一下, 说是分号的问题,果断去掉分号执行,是对的. 可是总感觉一大段SQL不分割,多条的时候应该会有问题(没测试)而且可读性也差,就又查了批量执行的…
数据库日志是否报错信息 vi check_log.sh #!/bin/bash # Created : 2019.10.10 # Updated : # Author : # Description :alert log loadsql="SELECT count(1) FROM v\$diag_alert_ext WHERE originating_timestamp > ( sysdate - interval '1' HOUR ) and ( message_text LIKE '%…
sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号).词法分析程序实现这个任务.词法分析程序可以使用lex等工具自动生成. 2)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 3)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限. 4)视图转换,将涉及视图的查询语句转换为相应的…
--查询Oracle正在执行的sql语句及执行该语句的用户 SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名 FROM v$process a, v$session b, v$sqlarea c WHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value --查看正在…
前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQL代码和执行error直观来看. select ename name from emp where name = 'SIMTH'; 哦,晃眼而过,可能并不会发现问题,不过一执行,便会报 如下错误:                   也就是where子句中name识别无效.造成这种原因是因为:whe…
oracle 监控执行的sql语句 select * from v$sqlarea a where module='PL/SQL Developer' order by a.FIRST_LOAD_TIME desc select * from v$sqlarea a where module='PL/SQL Developer' order by a.FIRST_LOAD_TIME desc 监视oracle的执行sql情况: select q.sql_text from v$session s…
出错场景是升级oracle驱动,将版本从ojdbc14升级到ojdbc6,hibernate执行原生态sql语句会报如下错误:org.hibernate.MappingException: No Dialect mapping for JDBC type: -9org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)org.springframework.web.servl…
-- 1 查询正在执行的sql语句 select b.sid, b.username, b.serial#, a.spid, b.paddr, c.sql_text, b.machine from v$process a, v$session b, v$sqlarea c where a.addr = b.paddr and b.sql_hash_value = c.hash_value; -- 2 根据sid与serial# kill 需要中止的sql语句  select sql_text, …