- 论坛徽章:
- 0
|
不知道为什么我能登入成功,却不能操作数据库。我直接sqlplus /nolog登入可以操作到。(这里的数据库是远程的)
现在我把代码贴上,请大家帮帮我!我在网上找了好久,也没有找到解决的方法!
/*这是登入方法*/
void login()
{
strcpy(username.arr, "hc");
username.len = strlen(username.arr);
strcpy(password.arr, "hc");
password.len = strlen(password.arr);
strcpy(db_name.arr, "HCPC");
db_name.len = strlen(db_name.arr);
EXEC SQL CONNECT :username IDENTIFIED BY :password AT db_link_name USING :db_name;
printf("sqlcode = %d\n", sqlca.sqlcode);
}
/*这是查询方法*/
void findAll()
{
EXEC SQL BEGIN DECLARE SECTION;
char stuname[21];
char stuaddr[51];
int stuage;
EXEC SQL END DECLARE SECTION;
EXEC SQL AT db_link_name DECLARE cursor_student_cur CURSOR FOR
SELECT STUNAME, STUADDR, STUAGE FROM STUDENT@db_name;
EXEC SQL OPEN cursor_student_cur;
while(1)
{
strcpy(stuname, "");
strcpy(stuaddr, "");
stuage = 0;
EXEC SQL FETCH cursor_student_cur INTO :stuname, :stuaddr, :stuage;
if(sqlca.sqlcode != 0)
{
break;
}
}
printf("stuname = %s, stuaddr = %s, stuage = %d\n", stuname, stuaddr, stuage);
}
不管我怎么改,也不能找到解决的办法。
tnsnames.ora这里面的配置也没错,已经检查很多遍了。
麻烦大家了! |
|