西煞魄工厂

posts - 193, comments - 278, trackbacks - 0, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年5月21日


使用SSIS整合SAP数据


1.准备



业务需求:将SAP中的公司代码表,同步到OA中的公司代码表。

技术方案:使用SSIS,实现数据整合。

技术准备:安装Microsoft .NET Data Provider for mySAP Businese Suite


2.实施

整体执行步骤




2.1 创建临时表








2.2 从SAP获取数据

整体效果图



2.2.1 创建连接SAP的数据源





2.2.2 查询SAP中公司代码表

配置说明

 



2.2.3 数据转换





2.2.4 目标公司代码表





2.3 清理数据格式

 

2.4 得到数据集



 


 

 

2.5 取每一条记录

主要是为了实现读取记录集中第一条数据,用对比的方式,与数据进行更新。


2.5.1 设置Foreach的属性


 


 

索引的概念,就想去读DataTable数据一样。

 

2.5.2 构建SQL语句


 



 

2.5.3 执行SQL语句


 

 

2.6 删除临时表


 

 

3 执行结果

 

4 总结

在一些需要与SAP进行字典同步的应用中,使用SSIS还是不错的选择。毕竟只是数据的传输而已。这样也能节省大量的开发时间。

当然,如果是一些比较复杂的业务数据的交换过程,建议还是用BizTalk。

总之,对于不同的业务需求,选择适合的工作,是很重要的。


 

posted @ 2008-07-18 18:25 西煞魄工人 阅读(650) | 评论 (4)编辑


运行在测试机上的BizTalk Administrator Tools经常出现下面的错误:




标题: BizTalk Server 2006 管理控制台
------------------------------

此操作无法访问至少一个 MessageBox 数据库。某些结果可能会忽略。

要获取帮助,请单击: http://go.microsoft.com/fwlink/?LinkId=47400&ProdName=Microsoft+BizTalk+Server+2006&ProdVer=3.5.1602.0&EvtSrc=Microsoft.BizTalk.Administration.SnapIn.Properties.Errors&EvtID=ErrorWhenAccessingMsgBox

------------------------------
其他信息:

Operation is not valid due to the current state of the object. (Microsoft.BizTalk.Administration.SnapIn)

------------------------------
按钮:

确定
------------------------------






找来找去,就是让重启动一下管理工具,自己就可以恢复。


BizTalk Server 2006 Administration Console

I just tried opening the administrative console and out of nowhere got an error "root element is missing (c:\Documents and Settings\user1\Local Settings\Application Data\Microsoft Corporation\Microsoft BizTalk Server 2006\Microsoft.BizTalk.Administration.Snapin.dll.config)".

 To resolve this issue, delete this file:

c:\Documents and Settings\user1\Local Settings\Application Data\Microsoft Corporation\Microsoft BizTalk Server 2006\Microsoft.BizTalk.Administration.Snapin.dll.config

The next time you start the BizTalk Server 2006 Administration Console, the Administration.Snapin.dll.config file will be auto created for you.


除了上面的介绍,实在没什么可以参考的资料了!



posted @ 2008-06-24 21:03 西煞魄工人 阅读(62) | 评论 (1)编辑


在没有安装"BizTalk Web Services 发布向导"工具的服务器上部署SOAP Port。


 

Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5734
Date:  2008-6-24
Time:  19:45:53
User:  N/A
Computer: GDEIAC-TEST09
Description:
消息引擎无法注册接收位置“/EIAC.EAI.ExpenseContract.WebService/WebService_EIAC_EAI_ExpenseContract_Orchestrations.asmx”的“SOAP”的适配器。请验证接收位置存在,且独立的适配器在可以访问 BizTalk 数据库的帐户下运行。




 

    最好按下面的部署顺序进行。

  1. 开发环境下
    1. 开发流程
    2. 部署流程
    3. 发布成WebService
    4. 测试
  2. 准生产or生产环境下
    1. IIS中创建App Pool,帐号用BizTalk Application Users中的用户。
    2. IIS中创建VisualDir,将1.3中的WebService拷备到些目录中。
    3. IIS中配置Read, Write , Script Running, 配置为2.2的AppPool。
    4. 试着访问WebService的URL,确认可以Open。
  3. BizTalk Admin Tools
    1. 部署BizTalk流程。
    2. 配置Receive Location。这里输入的WebService路径为2.4中,可以访问的URL(去掉http://servername)。

   ok, 问题解决。

posted @ 2008-06-24 19:58 西煞魄工人 阅读(71) | 评论 (0)编辑

    为了所有玩BizTalk的朋友聚在一起,隆重向大家介绍BizTalk Group (MSN群)。

    这里集聚了很多朋友,同时欢迎您的加入!

BizTalk MSN Group


如果您想显示出上图右边的功能区,请点击如下图所示的“发送闪屏”。


BizTalk MSN Group


在功能区里,您可以修改自己在群里的昵称。

BizTalk MSN Group

在我们的群里,请按下面的规则为自己起一个好记的昵称。

您所在的城市或国家您的昵称




当然,您也可以用一个比较方便的命令来实现修改昵称。
如下面所示,在消息输入区中,输入"/nn ......"
/nn 是用来修改昵称的命令。

BizTalk MSN Group

posted @ 2008-05-28 14:57 西煞魄工人 阅读(242) | 评论 (1)编辑


当前项目要求使用java调用.net webservice。

在网上search不到太多相关的资源,只能自己慢慢试了。

经过长达一周的联调,终于实现。

Java Client
import javax.xml.namespace.QName;   
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;    
import org.apache.axis.client.Service;  


System.out.println(
"测试SOAP开始");

Service service 
= new Service();
Call call 
= (Call)service.createCall();

String input
="Yes";

String endpoint
="http://11.11.11.11/CAIE.EAI/UploadExpenseToConstract.asmx";
call.setTargetEndpointAddress(
new java.net.URL(endpoint));
call.setOperationName(
new QName("http://CAIE.EAI.ExpenseConstract.WebServices","ReturnYourInput"));
call.addParameter(
"input", org.apache.axis.encoding.XMLType.XSD_STRING,ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(
true);
call.setSOAPActionURI(
"http://CAIE.EAI.ExpenseConstract.WebServices/ReturnYourInput");
String res 
= (String) call.invoke(new Object[] {input});
System.out.println(
"返回值="+res);
System.out.println(
"测试SOAP结束");   


.Net WebService

using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Services.Description;
using System.ComponentModel;

namespace CAIE.EAI.ExpenseConstract.WebServices
{
    
/// <summary>
    
/// UploadExpenseToConstract 的摘要说明
    
/// </summary>
    [WebService(Namespace = "http://CAIE.EAI.ExpenseConstract.WebServices/")]
    [WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(
false)]
    
public class UploadExpenseToConstract : System.Web.Services.WebService
    {

        [WebMethod()]
        [SoapRpcMethod(Use 
= SoapBindingUse.Literal, RequestNamespace = "http://CAIE.EAI.ExpenseConstract.WebServices", ResponseNamespace = "http://CAIE.EAI.ExpenseConstract.WebServices")]
        
public string ReturnYourInput(string input)
        {
            
string a = input;
            System.IO.File.AppendAllText(
@"c:\temp.log""Input=" + input + "\r\n");
            
return a;
        }

    }
}

Java 调用 .net 主要是为了后序的 Java 启动 BizTalk流程做准备。

posted @ 2008-05-21 12:26 西煞魄工人 阅读(180) | 评论 (0)编辑