使用dfc运行DQL并取得相应sql的代码

 

package com.client.example;

import com.documentum.com.DfClientX;
import com.documentum.fc.client.DfClient;
import com.documentum.fc.client.DfQuery;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfCollection;
import com.documentum.fc.client.IDfQuery;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.IDfTypedObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.DfLoginInfo;
import com.documentum.fc.common.IDfAttr;
import com.documentum.fc.common.IDfLoginInfo;

public class DFCTest {

    
private static final String DOCBASE = "Rep1";
    
private static final String USERNAME = "Administrator";
    
private static final String PASSWORD = "password";


    
/**
     * 
@param args
     
*/
    
public static void main(String[] args) {

        IDfSessionManager sessionMgr 
= null;
        IDfSession session 
= null;
        DfClientX clientx;
        IDfClient client;
        
try {

            clientx 
= new DfClientX();

            System.out.println(
"Using DFC version : " + clientx.getDFCVersion());

            client 
= DfClient.getLocalClient();

            sessionMgr 
= client.newSessionManager();

            
// Setup login details.
            IDfLoginInfo login = new DfLoginInfo();
            login.setUser(USERNAME);
            login.setPassword(PASSWORD) ;
            login.setDomain(
null);
            sessionMgr.setIdentity(DOCBASE, login); 

            session 
= sessionMgr.newSession(DOCBASE);

            
if(session == null || !session.isConnected())
            {
                System.out.println(
"Failed conecting to Documentum");

                
if(session != null)
                {
                    System.out.println(
"Session message: " + session.getMessage(1));
                }
                
return;
            }

            System.out.println(
"Server version: " + session.getServerVersion());

            
//Now, once we're connected to the Documentum DocBase, we'll list all the cabinets:
            IDfQuery query =  new DfQuery();//clientx.getQuery();       

          query.setDQL("SELECT r_object_id, object_name, title FROM dm_cabinet");
            IDfCollection queryRsult 
= query.execute(session,DfQuery.READ_QUERY);

            
while (queryRsult.next())
            {
                
// Spin through the attributesdot.gif
                for (int i = 0; i < queryRsult.getAttrCount(); i++)
                {
                    IDfTypedObject typedObj 
= queryRsult.getTypedObject();
                    IDfAttr attr 
= queryRsult.getAttr(i);
                    System.out.println(
"Attribute Name: " + attr.getName()
                            
+ "Attribute Value: " + typedObj.getString(attr.getName()));
                }
            }

            queryRsult.close();

            
//get sql
            IDfCollection coll;
            String sqlResult 
= "";
            coll 
= session.apply(null"GET_LAST_SQL"nullnullnull);
            
if(coll.next())
            {
                sqlResult 
= coll.getString("result");
            }

            coll.close();

            System.out.println(sqlResult);

            
if (session != null
            {
                sessionMgr.release(session);
            }
        } 
catch (DfException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值