Oracle.DataAccess.Client.OracleException ORA-12154: TNS: 无法解析指定的连接标识符
TNS无法解析是Oracle操作里经常遇到的问题,原因有二:
(1)Oracle服务器没有装好(一般不建议重装,因为Oracle卸载不完全是没法重装的)
(2)TNS没有配置
现在本文给出解决方案:
现在先测试一下tns是否可以ping,成功的界面大致如下
这里写图片描述
(1)在oracle安装路径的tns配置文件里添加如下代码
# tnsnames.ora Network Configuration File: d:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
其中orcl是我的数据库名称,这个需要根据需要配置
用excel怎么做关键词共现矩阵
计算矩阵用到的是数组公式,要选定合适的范围,然后用SHIFT+CTRL+ENTER三键输入公式
你用ENTER输入数组公式,得到的只是数组的第一个值!
你是用MMULT()计算的吗?这个是关于它的说明:
MMULT(array1,array2)
Array1, array2 是要进行矩阵乘法运算的两个数组。
Array1 的列数必须与 array2 的行数相同,而且两个数组中都只能包含数值。
对于返回结果为数组的公式,必须以数组公式的形式输入。
JavaScript正则表达式中 : 是什么意思
“?:”是“非获取存储匹配”的意思
“ ?:” 只在一个“()”group中,紧贴着“(”出现,例如“(?:abcdefg)”,不同于“ ? ”, “?: ”不是一个量词,但是与“()”共同构造一个元字符,这个元字符所匹配出来的结果,不会保留,也不能参与诸如替换计算等等的操作。(这个操作在服务端多见一些,前端用的不多)(javascript只有string对象的replace方法能用到这个功能)-lie
简单来说,就是你的正则表达式如果用不着在javascript里面使用replace方法,“?:”就可以省去(当然,看个人喜好和排版习惯,还有调试中的页面响应速度,如果加了“?:”反而更快,那就用吧)。-c
这么说起来还是比较抽象,用实例代码来说明吧。
《!DOCTYPE html》
《html》
《head》
《meta charset=“utf-8“》
《title》《/title》
《/head》
《body》
《p》将匹配的数字增加后缀“9”《/p 》
《p class=“demo“》/(\d+)/gi:A23G4HFD567.《/p 》
《p class=“demo“》/(?:\d+)/gi:A23G4HFD567.《/p 》
《button onclick=“myFunction()“》点我《/button》
《script》
function myFunction(){
var e=document.getElementsByClassName(“demo“);
var str=e.innerHTML;
var n=str.replace(/(\d+)/gi,“$19“);
e.innerHTML=n;
str=e.innerHTML;
var n=str.replace(/(?:\d+)/gi,“$19“);
e.innerHTML=n;
}
《/script》
《/body》
《/html》
《!----》
《!--在实例里面“$1代表第一个“()”所匹配的结果--》
可以看到“/(\d+)/gi”所匹配的结果被用于扩展替换字符串中的“$1”;
但是“/(?:\d+)/gi”所匹配的结果没有被用于扩展替换字符串中的“$1”,尽管,它也成功地找到了被查找字符串中的数字,显然结果没有被保留。
对了,类似的问题,可以用这种办法去对比验证。(比如“?=”、“?!”、“?《=”、“?《!”是什么意思……)
上图是在菜鸟教程找到的一个比较全面的正则表达式的元字符列表的部分: