为NSSM服务设置环境变量,解决Windows服务运行失败的问题

博主遇到一个这样的问题,Go语言开发的数据采集存储程序,在本地测试运行良好,程序以服务部署运行在Windows10正式服务器后,存储数据老遇到“ORA-01804”的报错,导致数据存储失败。

究其原因竟是:当使用 NSSM 运行服务时,服务可能不会继承你登录用户的完整环境变量,尤其是 ORACLE_HOME 和 PATH 环境变量,这些环境变量对于 Oracle 客户端库(如 OCI)是必要的。若这些客户端库未正确配置或者无法找到,将导致 ORA-01804 错误。

所以解决办法是在NSSM部署服务时,为服务配置环境变量。

为NSSM服务设置环境变量

以下讲解服务已经安装完之后,如何使用命令设置环境变量

安装服务教程见另一篇:使用nssm工具将.exe程序安装成Windows服务运行

1、以管理员身份运行命令提示符
确保你运行命令提示符时具有管理员权限。请按照以下步骤操作:

(1)在 Windows 桌面,搜索“cmd”。
(2)右键点击“命令提示符”,选择“以管理员身份运行”。
(3) 如果系统提示,允许该应用进行更改。   

2、使用命令行设置NSSM服务的环境变量

nssm set serviceName Environment "ORACLE_HOME=E:\Software\WINDOWS.X64_213000_db_home"

nssm set serviceName Environment "PATH=%PATH%;%ORACLE_HOME%\bin"

3、重新启动服务

---------------------------------------------------------------------------------------------------------------------------------

补充介绍:为Oracle数据库配置本地环境变量

1、设置 ORACLE_HOME 环境变量

  • (1)在“系统变量”区域,点击“新建”按钮。
    
    (2)输入变量名为 ORACLE_HOME。
    
    (3)输入变量值为你的 Oracle 数据库安装路径,例如:E:\Software\WINDOWS.X64_213000_db_home 点击“确定”。

2、更新 PATH 变量

  • (1)在“系统变量”区域找到 Path 变量,选中后点击“编辑”。
    
    (2)在编辑窗口中,添加以下新条目(确保路径正确):%ORACLE_HOME%\bin  点击“确定”保存更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值