我在批处理作业中使用的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中无法通过批处理作业
答案 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)