动态AX通过ODBC批处理作业

时间:2013-04-03 09:31:47

标签: axapta batch-processing dynamics-ax-2009 x++

我在批处理作业中使用的ODBC连接有问题:执行时,我有以下错误消息:

“ODBC操作失败。无法连接到数据库 无效的连接字符串属性Trusted_Connection Unabe创建对象'OdbcConnection'“

我尝试连接到Access数据库,我使用以下代码:

LoginProperty                 loginProperty;
OdbcConnection                odbcConnection;
;
loginProperty = new LoginProperty();
loginProperty.setDSN("MyDSN");
loginProperty.setDatabase("MyDatabase");

odbcConnection = new OdbcConnection(loginProperty);

调试时,它会在odbcConnection = new OdbcConnection(loginProperty)上崩溃。我在本地客户端执行的作业中测试了相同的代码,没有问题,并且工作正常(没有在代码或DSN中定义登录密码)。我的DSN似乎在AOS上没问题,我使用的是没有SP1的AX 2009,我看到一些示例,其中在loginProperty对象中定义了登录/密码,我的AX版本中没有setUserName()和setPassword()方法loginProperty宾语。我的类在服务器端执行(与任何批处理作业一样)。

是否有一些特定的设置要通过批处理作业连接到ODBC数据源?

任何想法或建议?

感谢您的帮助

编辑:AOS在Windows Server 2003上运行32位,在其上进行ODBC测试,工作正常,但在AX中无法通过批处理作业

3 个答案:

答案 0 :(得分:3)

您的AX很可能需要32位DSN连接。我会在AOS服务器上创建两个版本。

查看here了解详情。

答案 1 :(得分:1)

可能是由于渗透造成的。 “可信连接”是指通过登录到当前会话的用户连接到数据库的事实。从AX客户端运行作业时,将使用运行当前AX客户端的用户(登录到活动会话的用户)执行此操作;在批处理作业中从服务器执行代码时,代码通过运行AOS Windows服务的用户执行。

此用户权限是否已读取/写入/访问访问文件和目录?

答案 2 :(得分:1)

如果您使用的是64位计算机,请使用C:\ Windows \ SysWOW64 \ odbca32.exe来创建数据源。 检查AOS运行的ID,使用该ID登录并确保您可以“看到”数据源。 还要确保AOS帐户可以访问目录/文件(如果使用基于文件的odbc)