JB9+Weblogic+SqlServer2K开发实体Bean,在EJB Module中配置的数据源没有出现用户表,帮帮忙!!(50分)

  • 主题发起人 主题发起人 etu5
  • 开始时间 开始时间
E

etu5

Unregistered / Unconfirmed
GUEST, unregistred user!
开发环境:Jbuilder9+Weblogic8.12+MS SQL Server2000 个人版
问题提出:用JB9开发一个实体Bean。
具体步骤:
首先在Weblogic中部署连接池和数据源,连接池配置的数据库是“NorthWind”(SQLServer自带的样例数据库),数据源的JNDI是“ds_jndi”,
以上操作均在weblogic中成功部署。测试连接池也均成功(在连接池的高级中配置NorthWind数据库中的Categories表进行测试,此处可以证明
ds_jndi确实是对应着数据库NorthWind)。
运行JB9,新建一个工程,在工程的Required Libraries项加入了Sqlserver的驱动库(msbase.jar、mssqlserver.jar、msutil.jar)。在打开
Tool-Enterprise Setup,在数据库驱动页面中加入了sqlserver的驱动库。接着新建一个EJB Module,选择“EJB 2.0 COMPLIANT”后确定,至
此一个EJB module已经建立成功,以上操作均未出现问题。紧接着我开始配置DataSource,右击EJB Designer窗口,选择“Import Schema
From Database” ,在打开的窗口中填上在Weblogic中部署的数据库信息:
Driver : com.microsoft.jdbc.sqlserver.SQLServerDriver
URL : jdbc:microsoft:sqlserver://127.0.0.1:1433
Username : sa
Password : *****
Extended properties: (空)
Database name : NorthWind
JNDI name: ds_jndi
点击OK后,ds_jndi成功出现在DataSources下。
但是问题出现了:ds_jndi下没有出现任何表。 :(
我重新编辑一下,并把复选项“All schemas”和“Views”全部选中,点击确定后出现了一大堆系统表和视图,但是唯独没有出现用户表……
请问这是为什么?我错在哪儿?
 
我已经解决了该问题,方法是:在Extended properties中添加一行属性:DatabaseName=NorthWind即可。
谁能告诉我为什么呢? 难道JB9不知道Weblogic已经配置好了的JNDI名ds_jndi的数据源?为什么还要加一个扩展属性(DatabaseName=NorthWind)?
难道后面的JNDI name : ds_jndi不起作用么?(因为在Weblogic中已经配置好了ds_jndi对应着NorthWind数据库的呀,为什么还要加个DatabaseName=NorthWind作为扩展属性?这不画蛇添足了么?)
 
这是CSDN一个兄弟的回答:
回复人: pirateRocy(海盗罗西) ( ) 信誉:103 2004-05-03 21:46:00 得分:0
要指定数据库只能在URL中指定。
URL : jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=NorthWind
好象 Database name : NorthWind 这项不起作用。(为什么我也不知道)
如果按楼主的设置,默认是连接到 master 库中了,当然没有用户表了 :-)
 
默认的是连接Master数据库当然找不到你所建立的表了,要在URL : jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=NorthWind中填写要连接的数据库名才行,具体为什么我也不知道。
 
主要是Database name : NorthWind 这句话不起作用呀,可能是JB9的BUG吧~
 
后退
顶部