螳螂之怒 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环境变量。

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记