Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta 通过ODBC实现动态AX批处理作业_Axapta_Batch Processing_Dynamics Ax 2009_X++ - Fatal编程技术网

Axapta 通过ODBC实现动态AX批处理作业

Axapta 通过ODBC实现动态AX批处理作业,axapta,batch-processing,dynamics-ax-2009,x++,Axapta,Batch Processing,Dynamics Ax 2009,X++,批处理作业中使用的ODBC连接有问题:执行时,出现以下错误消息: “ODBC操作失败。无法连接到数据库 无效的连接字符串属性受信任的\u连接 无法创建对象“OdbcConnection” 我尝试连接到Access数据库,我使用以下代码: LoginProperty loginProperty; OdbcConnection odbcConnection; ; loginProperty = new LoginProperty(); l

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

“ODBC操作失败。无法连接到数据库 无效的连接字符串属性受信任的\u连接 无法创建对象“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对象中定义了登录/密码,setUserName()和setPassword()方法在我的AX版本loginProperty对象中不可用。我的类在服务器端执行(与任何批处理作业一样)

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

有什么想法或建议吗

谢谢你的帮助


编辑:AOS在Windows server 2003 32位上运行,ODBC在其上测试,工作正常,但通过批处理作业无法在AX中工作。很可能您的AX需要32位DSN连接。我将在AOS服务器上创建这两个版本


查看详细信息。

这可能是由于许可造成的。“可信连接”是指您通过登录到当前会话的用户连接到数据库。从AX客户端运行作业时,将与运行当前AX客户端(登录到活动会话的用户)的用户一起执行作业;在批处理作业中从服务器执行代码时,代码通过运行AOS windows服务的用户执行


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

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