在axapta中ConnectionString不正确

时间:2015-02-03 09:42:53

标签: axapta x++ ax

我想使用LoginProperty类连接到其他数据库。我是用两种不同的方式做到的:

  1. 使用loginProperty类创建DNS系统对象并连接到DB。这样就可以了。

  2. 另一方面,我想创建一个'连接字符串'并连接到数据库。这样我就出错了。

  3.   

    ODBC操作失败。无法登录数据库。   [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且没有标准驱动程序。

    我的连接字符串是:

    connectionString = "Driver={SQL Server Native Client 10.0}; Server=MSS2008-term\\\\SQLServer; Database=db; user ID=sa; Password=ABC.123";
    loginProperty.setOther(connectionString); 
    conn = new ODBCConnection(loginProperty);
    

    连接字符串中缺少什么?

2 个答案:

答案 0 :(得分:0)

尝试使用原始字符串赋值(所以没有\ magic):

connectionString = @"Driver={SQL Server Native Client 10.0}; Server=MSS2008-term\SQLServer; Database=db; user ID=sa; Password=ABC.123";

其他一些人遇到问题,请参阅ODBC connection to external data

也许您可以按代码创建DSN,请参阅What is the simplest, most maintainable way to create a SQL Server ODBC Data Source?

答案 1 :(得分:0)

我注意到您的连接字符串中有ServerDatabase,我出于某种原因使用Data SourceInitial Catalog。您可以这样做,只需更改/添加相关参数:

public str getConnectionString() {
  System.Data.SqlClient.SqlConnectionStringBuilder dbConnectionStringBuilder;

  dbConnectionStringBuilder = new System.Data.SqlClient.SqlConnectionStringBuilder();

  dbConnectionStringBuilder.set_Item('Data Source', 'YourServer');
  dbConnectionStringBuilder.set_Item('Initial Catalog', 'YourDatabase');
  dbConnectionStringBuilder.set_Item('Integrated Security', true);

  return dbConnectionStringBuilder.ToString();
}