Oracle Client安装报错:引用数据不可用于验证此操作系统分发的先决条件

原因是Oracle Client 11g版本不支持最新的Win10系统。

打开Oracle Client 11g安装包目录:\client\stage\cvu

编辑该目录下的两个xml文件:oracle.client_InstantClient.xmlcvu_prereq.xml

<OPERATING_SYSTEM RELEASE="6.2">
    <VERSION VALUE="3"/>
    <ARCHITECTURE VALUE="64-bit"/>
    <NAME VALUE="Windows 10"/>
    <ENV_VAR_LIST>
        <ENV_VAR NAME="PATH" MAX_LENGTH="5119" />
    </ENV_VAR_LIST>
</OPERATING_SYSTEM>

在两个文件中加入以上内容。问题解决。

双网卡同时访问内网外网

首先来看一下本机网络环境:

以太网适配器 eth0:

连接特定的 DNS 后缀 . . . . . . . : GONGSI
本地链接 IPv6 地址. . . . . . . . : fe80::f99f:c1e6:d15e:4d1%8
IPv4 地址 . . . . . . . . . . . . : 10.50.33.179
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 10.50.33.254

无线局域网适配器 wlan:

连接特定的 DNS 后缀 . . . . . . . : HBJ
本地链接 IPv6 地址. . . . . . . . : fe80::e8f6:d0f2:fa73:8ee1%18
IPv4 地址 . . . . . . . . . . . . : 192.168.43.201
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.43.1

eth0有线连接通过公司内网交换机连接到互联网外网,无线wlan连接公司内网。

看一下默认的路由规则:

route print -4

0.0.0.0 0.0.0.0 10.50.33.254 10.50.33.179 外网
0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.201 内网

即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络可能不能同时访问。

要同时访问内网外网需要加上下面这句话:

route add  172.20.0.0 mask 255.255.0.0 192.168.43.1 metric 20
route add  10.118.0.0 mask 255.255.0.0 192.168.43.1 metric 20

两句话可以将访问内网地址172.20.****,和10.118.****的网关指定到内网网关:192.168.43.1。之后内外网可以同时访问了。route后面加入-p参数,下次重启不用重新添加路由表。

PL/SQL Developer连接远程Oracle 11g数据库

远程Oracle 11g数据,IP:172.20.4.18

本机:Windows 10 x64 [版本 10.0.15063]

本地没有安装Oracle数据库。需要连接远程的Oracle 11g数据库。

首选需要下载Oracle的Instant Client组件(版本号要和服务器版本号对应 11.2.***)

instantclient-basic-windows.x64-11.2.0.4.0.zip
instantclient-odbc-windows.x64-11.2.0.4.0.zip
instantclient-sqlplus-windows.x64-11.2.0.4.0.zip

全部解压到同一个目录:C:\instantclient_11_2

设置环境变量:

NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK(或AMERICAN_AMERICA.ZHS16GBK)
TNS_ADMIN = C:\instantclient_11_2
LD_LIBRARY_PATH = C:\instantclient_11_2
SQLPATH = C:\instantclient_11_2

NLS_LANG最好设置为AMERICAN_AMERICA.ZHS16GBK,不然可能sqlplus终端连接有乱码。

管理员CMD运行:C:\instantclient_11_2\odbc_install.exe

在C:\instantclient_11_2下新建文本文件:tnsnames.ora

内容:

TESTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.4.18)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDB)
)
)

打开PL/SQL Developer,先取消登录,在Tool - Preferences - Connection 里面设置 Oracle Home 和 OCI Library如图:

oracle_con.png

保存后,重启PL/SQL Developer,连接输入用户名密码,Database填写 TESTDB,连接成功!

Eclipse断点进入另一个项目的同名Java文件中

A和B是两个相同的项目,A一直本地,B是刚刚从SVN上down下来的。

Q:今天进行Debug调试B项目时,断点进入的是A项目的类中。一开始排错,以为运行的还是A项目,经过在JSP页面测试,确定运行的的确是B项目,但是断点一直进入的A项目的类中。

A1:解决方法如下:

进入Debug界面,右击,显示如下界面:

然后选择Edit Source Lookup...(后面省略了Path)------>Add------>Workspace Folder------>选择要Debug的项目下的文件夹,通常的调试的代码都是在src文件夹里面,所以选择src文件夹,点击ok。回到Edit Source Lookup Path界面下。如果有其他的项目下的src最好删除,尤其是相同的项目。选中要删除的文件,在右边remove就好了,继续点击ok。

Debug重启一下。

BTW:你也可以点击左上角的Debug标志--虫子旁边的向下三角,选中Debug Configurations进入配置界面后,点击右边的Source进行相同的操作。

来源:https://my.oschina.net/u/148367/blog/151849

sqlserver 删除数据库 正在使用

通常情况睛,SQLServer2000正在使用的数据库(有数据库连接),是不能删除或被恢复的,可以将数据库设置为单用户模式,即可删除:

use master
go

declare @dbname sysname   
set @dbname = 'db_tunps_com' --这个是要删除的数据库库名   
      
declare @s nvarchar(1000)   
declare tb cursor local  
for 
    select s = 'kill   ' + cast(spid as varchar) 
    from   master.dbo.sysprocesses 
    where  dbid = DB_ID(@dbname)   
      
open   tb     
fetch   next   from   tb   into   @s   
while @@fetch_status = 0 
begin 
    exec (@s)  
    fetch next from tb into @s 
end   
close   tb   
deallocate   tb   
   
exec ('drop   database   [' + @dbname + ']')