2014-09-15 3 views
0

Выполнение следующий код не будет работать на command.ExecuteReader() с исключением:Выполнение простого запроса на выборку с помощью Rocket U2 Toolkit для .NET

«ERROR [] [U2] [UCINET-UO] ERROR [] [U2] [UCINET-UO] [U2] [UCINET-UO] [U2] [UCINET-UO] Подпрограмма XTOOLSUB не выполнена. Войдите в учетную запись (2). Недопустимое имя/данные учетной записи/TSSA9. Убедитесь, что учетная запись/данные/TSSA указана в ud_database и UD.ACCOUNT. Имя класса = UDAttribute Имя метода = GetAttributes (...) Имя класса = Имя метода UDAttribute Имя = GetAttributes (...) Источник: U2.Data.Client TargetSite: U2.Data.Client.NativeAccess. ТаблицаInfoForNativeAccess GetTableInformation (U2.Data.Client.U2Command) "

using (var connection = ConnectionFactory.Create()) 
using (var command = connection.CreateCommand()) 
{ 
    command.CommandText = "Select ID From CONTRACTORS;"; 
    connection.Open(); 
    using (var reader = command.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 
      var o = reader[0]; 
     } 
    } 
} 

public class ConnectionFactory 
{ 
    public const string Password = "****"; 
    public const string UserName = "****"; 
    public const string Server = "****"; 

    public static U2Connection Create() 
    { 
     var connectionStringBuilder = new U2ConnectionStringBuilder 
     { 
      UserID = UserName, 
      Password = Password, 
      Server = Server, 
      Database = "/data/TSSA", 
      ServerType = "UNIDATA", 
      AccessMode = "Native", // FOR UO 
      RpcServiceType = "udcs", // FOR UO 
      Connect_Timeout = 9000, 
      QueryTimeout = 9000, 
      PersistSecurityInfo = true, 
      Pooling = false 
     }; 

     return new U2Connection 
     { 
      ConnectionString = connectionStringBuilder.ToString() 
     }; 
    } 
} 

Я использую U2.Data.Client версия 2.1.0.2051

Любые мысли или идеи были бы очень оценены. Благодарю.

+0

Вы подтвердили, что учетная запись/данные/TSSA действительно в файле ud_database и UD.ACCOUNT? – Tap

+0

Ну, это отличный вопрос. К сожалению, я не уверен, что это значит или как проверить или что делать, если это не так. У меня создалось впечатление, что подключение этого способа означает, что мне не нужно обновлять конфигурацию сервера, но, видимо, я ошибаюсь? –

ответ

1

Благодарим вас за то, что задали этот вопрос. Убедитесь, что база данных '/ data/TSAA' указана в двух местах.

  1. ud_database (см скриншот) (в окнах, C: \ U2 \ ud73 \ INCLUDE \ ud_database)
  2. UD.ACCOUNT (см снимок экрана) а. Logto 'sys' account b. LIST UD.ACCOUNT c. Убедитесь, что у вас есть запись «/ data/TSAA».

Мы исправим эту проблему в V 2.2.0, так что вам не нужно выполнять вышеуказанные дополнительные шаги.

Эта проблема разрешена в U2 Toolkit for .NET v2.2.0 (BETA). Прочтите это для получения дополнительной информации.

Async\Await and Entity Framework 6.1 in Rocket MV U2 Toolkit for .NET v2.2.0 (BETA)

enter image description here

enter image description here

+0

Являются ли эти файлы на сервере или клиенте? Наш сервер db - это unix-бокс. –

+0

Когда я вхожу в команду udt и выполняю команду LIST UD.ACCOUNT, я получаю «Не имя файла». Извините, но мои знания в unidata довольно скудны. –

+0

вам нужно сделать, LOGTO sys. См. Другой ответ. –

0

Введите следующие команды на ":" стремительных

LOGTO SYS
СПИСОК UD.ACCOUNT ВСЕ

Вы можете увидеть список вроде этого:

enter image description here