您的位置:程序门 -> db2 -> 数据库开发



挺简单的一个程序啊.sqlj编译出错的原因在哪里呢?请大牛帮忙


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


挺简单的一个程序啊.sqlj编译出错的原因在哪里呢?请大牛帮忙
发表于:2007-05-21 22:21:00 楼主
挺简单的一个程序啊.sqlj编译出错的原因在哪里呢?请大牛帮忙


我用db2   udb   8.2   for   windows   +   wsad   5.1,   这是我的代码,为什么编译都过不去呢?

package   u7.pro;

import   java.sql.*;
import   sqlj.runtime.*;
import   sqlj.runtime.ref.*;
public   class   sample1   {
static   {
try{
class.forname( "com.ibm.db2.jdbc.app.db2driver ").newinstance();
}   catch(exception   e)   {
system.out.println( "\n   error   loading   db2   driver   ...\n ");
system.exit(1);
}
}

public   static   string   getfname(int   employid){
string   firstname   =   null;
string   userid   =   "db2admin ";
string   passwd   =   "applena ";
try{
string   url   =   "jdbc:db2:sample ";
connection   con   =   null;
con   =   drivermanager.getconnection(url,   userid,   passwd);
defaultcontext   ctx   =   new   defaultcontext(con);
defaultcontext.setdefaultcontext(ctx);
#sql{
select   fname   into   :firstname   from   employeedetails   where   employeeid   =   :employeeid
};
}catch   (exception   e){
system.out.println(e);
}
return   firstname;
}

public   static   void   main(string   args[]){
system.out.println( "first   name   is   "   +   getfname(1));
}
}

错误信息是:
sqlj   转换:   sample1.sqlj:26.3-28.3:   error:   java   类型对于主机项   #1   无效。   总计   1   个错误.
发表于:2007-05-22 10:59:571楼 得分:0
你这样写,需要在本机进行配置,你配置客户端连接db2了吗?

或者用type   4的驱动
class.forname( "com.ibm.db2.jdbc.net.db2driver ").newinstance();
string   dburl   = "jdbc:db2://localhost:50000/sample ";
发表于:2007-05-22 13:03:202楼 得分:0
我本地是8。2   的server,所以我连接的应该是本地的sample,   我用您的方法试过了,还是不行,吐血等您的回复,   目前的错误还是
f:\new1\wsad\ambowdemo\demo> sqlj   sample1.sqlj
sample.sqlj:26.3-28.3:   error:   invalid   java   type   for   host   item   #1.
total   1   error.
发表于:2007-05-22 15:50:373楼 得分:0
你的这种写法不是type   4的驱动方式

所以你需要在配置,用我的,你把连接方式换成tcp/ip,把端口该成50000就可以了

网上有很多这种例子。
发表于:2007-07-03 09:10:474楼 得分:0
该回复于2007-12-29 16:24:29被管理员或版主删除


快速检索

最新资讯
热门点击