client
2)增加.ora文件(安装目录下/newwork/admin)
3)可采用其他连接oracle工具判断是否能正确连上oracle
3).net连接oracle:
user
id=scottpassword=tigerdata
source=oracle92persist
security
info=trueunicode=trueomit
oracle
connection
name=true
注意data
source后为第二步的ora文件里的名称
我只会在unix下面写,嘿嘿win的我还不会呢。。把代码贴上。至于怎么
编译,再查查吧~
int
main()
{
EXEC
SQL
BEGIN
DECLARE
SECTION
char
oc_passwd[101]
/*数据库密码*/
char
oc_userid[101]
/*数据库用户名*/
char
oc_dbname[101]
/*数据库名*/
char
oc_coad[101]
EXEC
SQL
END
DECLARE
SECTION
memset(oc_passwd,
0x00,
sizeof(oc_passwd))
memset(oc_userid,
0x00,
sizeof(oc_userid))
memset(oc_dbname,
0x00,
sizeof(oc_dbname))
/*取数据库用户名*/
strcpy(oc_userid,
"userid")
/*取数据库用户密码*/
strcpy(oc_passwd,
"passwd")
/*取数据库名*/
strcpy(oc_dbname,
"dbname")
EXEC
SQL
CONNECT
:oc_userid
IDENTIFIED
BY
:oc_passwd
USING
:oc_dbname
if
(sqlca.sqlcode
!=
0)
{
printf("用户名[%s]密码[%s]数据库[%s]\n",
oc_userid,
oc_passwd,
oc_dbname)
printf("连接数据库失败,sqlcode=%d\n",
sqlca.sqlcode)
return
-1
}
/*读table取coad字段*/
memset(oc_coad,
0x00,
sizeof(oc_coad))
EXEC
SQL
SELECT
coad
INTO
:oc_coad
FROM
table
WHERE
1=1
if
(sqlca.sqlcode
==
NORECORD)
{
printf("查询无记录\n")
return
-1
}
else
if
(sqlca.sqlcode
!=
0)
{
printf("查询失败,sqlcode=%d\n",
sqlca.sqlcode)
return
-1
}
return
0
}
stmt=
conn.preparestatement(sql)//
?
获得数据库的sql
rt
=
stmt.executequery()//
?
执行查询语句
rowset.populate(rt)//
?
将结果集
放在
rowset对象中
stmt.executeupdate()//这句话作用是什么呢?
执行更新语句(增/删/改)
cachedrowsetimpl
rowset
=
test.getlist("select
*
from
bob")
看看test.getlist(string)方法的返回类型就明白了
方法返回cachedrowsetimpl
这个类型的.
所以的用这个对象的实例
来接收啊.
呵呵
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)