螳螂之怒 2013-07-08 01:55 采纳率: 0%
浏览 3266

Error 6 initializing SQL*Plus

我的C#程序其中一个函数用process对象运行了CMD然后通过start命令打开包含sqlplus的bat文件,如果直接运行这一个函数很正常。但是如果先调用另一个包含了OracleConnection对象尝试连接数据库的函数,不管是否连接成功,再调用第一个函数就会提示
Error 6 initializing SQL*Plus
SP2-0067:: Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
其中OracleConnection使用了引用Oracle.DataAccess

后来经过调试发现 因为在调用Oracle.DataAccess引用时,oracle_home被设置成当前.exe文件所在目录
我又不明白了,为什么oracle_home会被修改了
奇怪的是昨天都能正常运行,今天突然这样了

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-05 08:52
    关注

    你的C#程序先调用了一个函数来尝试连接Oracle数据库,然后在调用另一个函数时出现了Error 6 initializing SQL*Plus、SP2-0067、SP2-0750等错误。你说这个问题突然出现了,但之前一直正常。你想知道为什么oracle_home会被修改了。


    在使用Oracle.DataAccess引用时,oracle_home环境变量会被修改为当前.exe文件所在目录。这可能是因为在使用Oracle.DataAccess引用时有代码将oracle_home设置为当前目录,或者因为在使用Oracle.DataAccess引用时有一些其他因素导致oracle_home被修改了。


    我建议你检查你的代码,看看有没有将oracle_home设置为当前目录的代码,并尝试解决这个问题。如果找不到任何相关的代码,你可能需要检查其他可能导致oracle_home被修改的因素,比如其他程序或批处理文件可能会修改oracle_home环境变量。

    评论

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏