Pro C代码连接到数据库给出分段错误

时间:2011-06-28 10:17:13

标签: c unix

我的.pc文件中有以下代码,几乎有10个进程调用,但是对于一个进程,它不能正常显示"核心转储/分段错误" 。 这是每个进程调用的代码,作为连接到数据库的第一步。 请在下面的代码中建议问题出在哪里 - :

void DatabaseLogon (void)
{
   EXEC SQL BEGIN DECLARE SECTION;
      char *pchORALOG="";
   EXEC SQL END DECLARE SECTION;

   EXEC SQL WHENEVER SQLERROR DO SQLError();

   /* Save text of current SQL statement in the ORACA if an error occurs. */

   oraca.orastxtf = ORASTFERR;

   /* try to get the oracle login user/pass at the process level */
        if ( (pchORALOG=getenv("oralog")) == NULL )
        {
         printf("Error:Cannot Logon to database!\n");
         SQLError();
        }
      else
        {
         EXEC SQL CONNECT :pchORALOG;
        }
} /* End Of DatabaseLogon */

由于 Arpita

2 个答案:

答案 0 :(得分:0)

我的ProC连接语句如下所示:
EXEC SQL CONNECT:user IDENTIFIED BY:passwd USING:database;

答案 1 :(得分:0)

您正在尝试修改此处的只读位置。

pchORALOG=getenv("oralog")

以下陈述是问题所在:

char *pchORALOG="";

将其更改为:

char *pchORALOG;