平台:rhel as4u8  + oracle 10g如果在一个文件中,就是main直接调用proc操作数据是没问题的我是要打算写个数据库接口给别人调用,是打算用proc语法写好后
把对数据库的所有操作封存到一个类中,然后用proc编程成cpp文件,
拿给别人用但是封成类后,自己写个main简单测试下,用g++编译出以下错误:
multiple definition of sqlca代码如下:
DB.pc:
#ifndef DBINTERFACE
#define DBINTERFACE
#include <iostream>
using namespace std;
#include <string>
//#define SQLCA_STORAGE_CLASS extern
exec sql include sqlca;class CDBOper
{
public:
CDBOper(){}
~CDBOper(){}
int Connect(const char* pUserName,const char* pPassWD)
{
exec sql begin declare section;
char username[32];
char userpwd[32];
exec sql end declare section;
strcpy(username,pUserName);
strcpy(userpwd,pPassWD);
EXEC SQL CONNECT :username IDENTIFIED BY :userpwd;
return sqlca.sqlcode;
}
};
#endif编译: proc code=cpp parse=none iname=DB.pc oname=DB.cpp#include <iostream>
using namespace std;
#include "DB.cpp"
int main()
{
    CDBOper test;
    if(test.Connect("test","test01"))
        cout << "Connect Error!" << endl;
    return 0;
}
各位提点一二.。。