有關 Jaguar CTS 3.5 這邊有問題 Connection con = ds.getConnection("sa","")(50分)

  • 主题发起人 主题发起人 goddy
  • 开始时间 开始时间
G

goddy

Unregistered / Unconfirmed
GUEST, unregistred user!
//<color>這邊有問題 Connection con = ds.getConnection("sa","");
</color>
<%@ page import = "java.util.*"%>
<%@ page import = "javax.naming.*"%>
<%@ page import = "javax.sql.*"%>
<%@ page import = "java.sql.*"%>
<HTML>
<HEAD>
<TITLE>
MoeDBCache Sample
</TITLE>
</HEAD>
<BODY>
<%
DataSource ds=null;
Context ctx=null;
java.util.Properties p = new java.util.Properties();
%>
<%-- Sybase implementation of InitialContextFactory --%>
<%
p.put(Context.INITIAL_CONTEXT_FACTORY,"com.sybase.ejb.InitialContextFactory");
%>
<%-- 伺服器的 IIOP port--%>
<%
p.put(Context.PROVIDER_URL, "IIOP://localhost:9000");
%>
<%-- Jaguar Server 的帳號和密碼--%>
<%
p.put(Context.SECURITY_PRINCIPAL, "jagadmin");
p.put(Context.SECURITY_CREDENTIALS, "");
%>
<%-- Create the initial context for Jaguar Server--%>
<%
try
{
ctx = new InitialContext(p);
//odbc名:sybase
ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/sybase");
}
catch(NamingException ne)
{
out.println("<p> Got The Exception, Please See The Jaguar Log </p><BR>");
ne.printStackTrace();
}
%>
<%-- Create the database Connection using 帳號/密碼 (sybase/odwasdbo) to login--%>
<%
try
{
//<color>這邊有問題 :Connection con = ds.getConnection("sa","");
</color>
Connection con = ds.getConnection("sa","");
Statement stmt = con.createStatement();
String SQLString="select ORG_NAME from TORG where ORG_NO='TEST000170'";
ResultSet rs=stmt.executeQuery(SQLString);
while (rs.next())
{
out.println("<p>查出機關名稱: "+rs.getString(1)+"</p>");
}
con.close();
out.println("<BR>");
out.println("<p> Process Completed </p>");
}
catch(SQLException sqe)
{
out.println("<p> Got The Exception, Please See The Jaguar Log </p><BR>");
sqe.printStackTrace();
}
%>
</BODY>
</HTML>
 
有誰用過PowerJ?
ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/sybase")是什么意思﹖
 


电子商务环境下的新型编程方式
--------------------------------------------------------------------------------

  电子商务正以相当迅猛的速度进入到各种商业领域,这就要求相关的应用开发人员和IT管理人员应有更高的开发和管理水平。电子商务的好处是显而易见的,大到华尔街的金融公司,小到刚刚起步的公司,都在积极利用这个最先进的技术。
  众所周知,电子商务能够增进企业与客户的关系,并且可以是业务更加具有竞争优势。但是怎样才能把新的电子商务技术和企业的所有信息系统集成在一起呢?基于组件的技术就是答案,例如Java语言和一系列中间组件服务器组成的解决方案。但是现在市场上的Java开发工具都是针对基本的数据形式设计的,而且大多数应用服务器在大量数据访问的情况下的运行效率也不尽人意,比如在显示和维护上千行从数据库返回的查询结果时,运行效率可能会有些慢。
目前,企业中大多数基于Java应用都是相互独立的,而且如果把他们提交到Internet上的话,在安全性、运行效率和管理能力方面会比LAN/WAN上的系统差很多。
下一步应怎样做
  如果你的企业正在计划将应用系统移植到网上的话,不妨考虑一下Sybase公司提供的解决方案。
  Sybase公司提供的解决方案是建立在成熟的开发工具和服务器技术的基础上的,由PowerJ和企业级应用服务器EAServer组成,它将延伸你的企业技术投资,把数据和应用安全方便地放到Web上。这是一个无缝的开发和提交环境,支持HTML、Java、JavaScript、XML语言和能够访问现有系统的组件。
  不仅如此,Sybase EAServer还能够为网上应用提供更多关键特性,如加载平衡、高可用性和安全性(支持SSL),而且企业还可以自由地选择开发语言、组件类型、运行平台和数据库。
建立和提交电子商务应用
  Sybase提供的这个开发和提交环境在两个IT领域具有显著特性:Internet和传统的计算环境。Sybase PowerJ和EAServer把两层计算环境下的可靠性、可用性和可伸缩性与Web环境下的通用访问和快速开发结合在一起,最大限度地利用在人员和系统上的原有投资,建立适应未来需要的应用系统。
集成PowerJ和EAServer
  PowerJ和EAServer是一个Web集成应用环境(Web IAE),可以进行Internet应用可以进行Internet应用的建立、测试、提交和调试,不仅可以创建分布式Java组件,并把他们提交到EAServer中,你甚至还可以调试在EAServer中运行着的Java组件。另外,PowerJ的向导可以使你方便地配置具有复杂功能的分布式组件,如事务管理组件或实例缓冲池。
建立电子商务应用的七个步走骤:
  1. 用PowerJ的新的程序向导创建你所需要的组件;
  2. 在PowerJ中创建与EAServer的连接缓存;
  3. 用PowerJ和Jaguar CTS 提交向导把组件提交到EAServer中;
  4. 使用PowerJ和Jaguar CTS提交向导管理组件的事务特性;
  5. 使用PowerJ和Jaguar CTS提交向导管理组件生命周期;
  6. 使用PowerJ和Jaguar CTS提交向导在PowerJ的组件调色板中增加新的组件;
  7. 使用PowerJ和Jaguar CTS提交向导把组件提交到EAServer中,或创建组件代理。
具有突破性的性能和可靠性
  企业级应用服务器是多线索的,提供完善的性能调优能力,以适应更多Web应用的需要。EAServer的技术基础是Sybase公司近十年的在分布式应用技术领域的成功经验,可以处理一天上百万的事务处理,和上千个同时访问的Internet用户的请求。另外,EAServer 提供:
1 通过多线索执行引擎全面支持SMP,具有高度的可伸缩性;
2 数据库连接缓冲可以消除建立和撤销数据库连接时的时间和资源的剧烈浪费;
3 完善的调优特性(包括实例缓冲池、线索缓冲池和高效的HTTP会话管理)大大提高了性能;
4 EAServer聚簇具有负载平衡和高度的可用性。
高效的开发、提交和管理能力
使用PowerJ 3.0可以建立Java或超薄的客户端,以实现对EAServer中的业务组件的访问。 PowerJ 和EAServer的高生产力特性包括:
1 易于使用的拖拽式向导可以帮助你建立、提交和直接调试EAServer中的组件;
2 易于使用的管理界面是你能够管理和监控服务器端的实例缓冲、事务管理、线索管理、数据库连接、日志文件等;
3 自动的线索和进程管理把开发人员从繁重的进程控制和管理中解脱出来;
4 集成化的页面和组件开发环境可以实现复杂业务逻辑的重用,并且可以与业务系统集成,发挥组件计算环境的特点;
5 新的Java/HTML DataWindow和支持PowerBuilder不可视用户对象的特性使PowerBuilder开发人员可以利用已有的技能转变成Java开发人员。
端到端的安全特性
  利用网络环境的应用愈来愈多,安全性就显得非常重要,只有解决了安全性问题,把风险控制在最低限度,才能把关键的系统放到网上。EAServer为此提供了一系列安全特性,就像控制数据库用户的访问权限一样控制网络用户对分布式系统的访问,以确保系统的安全运行。EAServer围绕安全型的各个方面设计了一个集成化的安全机制,由签章、权限和密码方式组成,支持SSL确保消息传输的安全可靠,支持主要的密钥算法(如RSA),可以使用用户名-保密字或X.509数字认证技术进行用户身份验证,另外还有基于用户交色的组件级访问控制等。
灵活的开发和提交环境
  EAServer支持各种工业标准组件(如Java、JavaBean、CORBA、COM/ActiveX、C/C++和PowerBuilder的不可视对象等),因此开发人员可以使用自己喜欢的语言开发业务逻辑组件,无论提交的服务器上的组件是由什么语言写的(Java、C/C++或PowerBuilder PowerScript等)都可以进行通信和集成。同样,你也可以建立各种形式的客户端,纯Web HTML页面形式的或纯Java的都可以,都可以无缝地与中间层业务逻辑集成,进而实现多种组件模式、对象模式、操作系统和后端数据库的集成。


 
那到的DataSource对么?
getConnection的时候什么错?
 
会不会拿到的DataSource需要narrow一下??
 
to:琉璃
ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/sybase")
java:comp/env/jdbc/sybase是你定义的datasource的jndi名,提供datasource的
服务器根据这个jndi名来定位你想要得到哪一个链接池的实例。
lookup我想就不必多说了,在ctx这个上下文中进行查找,
查找的对象的名字是java:comp/env/jdbc/sybase
但是,lookup方法返回的是一个object需要进行强制类型转换或者窄化,
即jjams_king说的narrow。
narrow的好处是可以可以保证对象在转换过程中不会丢失必要的信息。
我也感觉可能是narrow的问题。当然,也有可能是lookup的问题。我感觉那个
jndi名好像有点问题。应该是java:comp/env/jdbc/sybase/datasourcename
这样的形式才对吧。不知道抛出的是什么异常。
 
强烈关注!
 
多人接受答案了。
 
后退
顶部