3

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

“ODBC 操作失败。无法连接到数据库无效的连接字符串属性 Trusted_Connection 无法创建对象‘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 版本 loginProperty 中没有 setUserName() 和 setPassword() 方法目的。我的课程在服务器端执行(作为任何批处理作业)。

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

有什么想法或建议吗?

感谢您的帮助

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

4

3 回答 3

3

Most likely you will need a 32-bit DSN connection for your AX. I would create both versions on the AOS server.

Look here for details.

于 2013-04-03T10:43:28.863 回答
1

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

于 2013-04-09T17:47:16.820 回答
1

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

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

于 2013-04-05T14:35:48.730 回答