Linux下部署ASP.NET服务连接oracle遇到的问题记录

时间:2021-09-09 17:17:02

一、如何卸载MONO

Q:mono是linux系统上跨平台软件,卸载它有两种方式:

1、知道mono安装路径,安装原来的路径直接覆盖安装(最为简单);

2、不知道mono安装路径,首先通过sudo find / -name mono命令查找路径,

也可进入mono安装文件夹sudo make uninstall进行卸载。

二、部署服务连接oracle数据库报错,

提示:system.dllnotfoundexception:libclntsh.so

Q:根据服务报错的提示,可以看出此函数库导致的,那如何解决呢,其实很简单,首先通过命令sudo find / -name libclntsh.so找到他在哪里,,解决他有我们两个办法,方法一:root用户下,在文件/etc/ld.so.conf中添加链接库所在路径/oracle/product/11.2.0/db_1/lib,保存后退出,并执行ldconfig即可;采用方法一,设置完成后,需要重启jexus才能生效。

三、设置完第二个问题后,可能出现另外一个问题:

提示:system.exception:could not allocate the oracle enviroment.

Q:解决这个问题就需要在JWS脚本设置了,进入jexus安装目录:
vi  jws 添加: export ORACLE_SID=oracle的实例名称
              export ORACLE_HOME=oracle的安装目录

如果不知道oracle的服务名称和安装目录可以通过命令查找:echo $ORACLE_SID(查找实例名) 和 echo $ORACLE_HOME(查找安装路径)

四、服务部署完成后,客户端调用数据中文乱码问题

Q:乱码问题归根结底是因为数据库字符集与web页字符集不统一造成的。以后建议公司做项目涉及到字符集问题统一配置UTF8(国际标准),解决方法:也是在JWS脚本中增加export NLS_LANG=AMERICAN_AMERICA.UTF8,这句话即可,最后别忘了重启jexus。