2013-06-24 6 views
0

У нас есть устаревшая система, работающая на СУБД Universe 9.6. Мы пытаемся экспортировать данные из него, и у нас есть возможность запуска rpc-демона, чтобы мы могли подключаться через odbc.ODBC-соединение со Вселенной 9.6

Теперь мы можем подключиться к серверу, но мы не можем запускать какие-либо запросы. Мы получаем следующую ошибку

запрос - SELECT * FROM Дебитору

исключение - UNIVERSE/SQL: ошибка синтаксиса. Неожиданный символ. Токен был ";". Отсканированная команда была выбрана: SELECT

В мире есть два типа базы данных, т.е. таблица и файл. Но мы можем запросить базу данных на основе таблиц, но мы не можем запрашивать файлы на основе файлов, и есть некоторые конфигурации, которые позволят запрашивать файлы на основе файлов. Мы застряли в этом месте.

Использование библиотеки u2Client в C# для доступа к db. Любая помощь приветствуется

Код, используемый для подключения Вселенной

U2ConnectionStringBuilder conn_str = new U2ConnectionStringBuilder(); 
conn_str.UserID = "id"; 
conn_str.Password = "pwd"; 
conn_str.Server = "serverIP"; 
conn_str.Database = "DBNAME"; 
conn_str.ServerType = "UNIVERSE"; 
conn_str.Pooling =false; 
conn_str.AccessMode = "Uci"; 
conn_str.RpcServiceType = "uvserver"; 
string s = conn_str.ToString(); 
U2Connection con = new U2Connection(); 
con.ConnectionString = s; 
con.Open(); 
Console.WriteLine("Connected........................."); 
U2Command xmd = new U2Command("SELECT * FROM TABLE_NAME", con); 
var op = xmd.ExecuteReader(); 

Исключение уловы во время выполнения последнего утверждения

+0

Вы получаете сообщение об ошибке при запросе Вселенной с ODBC из Microsoft Excel? – webthaumaturge

+0

Я использую C# для подключения –

+0

wow, 9.6 от 11 до 12 лет! Любая причина, почему она не была обновлена ​​до последней и самой большой? Если вы были на службе поддержки/поддержки, команда поддержки U2 * могла бы * помочь вам. –

ответ

1

Мы попробовали драйвер из Rocket software. Вселенная работает и отправляет данные клиенту, но клиент не может понять протокол или некоторую ошибку, вызывающую исключение. Мы подтвердили, что сервер ответил на запрос данными, проверив пакеты TCP. Но нам не повезло.

Итак, мы решили создать собственное программное обеспечение, разработанное в Universe Pick Basic, которое будет подключено к внешней системе через ssh и создаст новый протокол, который понимает его как клиент, так и сервер. И нам это удалось, теперь мы можем экспортировать и импортировать данные во вселенную.

0

Официально Вселенная 9,6 не поддерживается для использования с U2 Toolkit для .NET. Согласно documentation (страница 6):

Поддерживаемые версии UniData и UniVerse

  • UniData 7,1 или более поздняя версия
  • ВСЕЛЕННОЙ 10.3 или более поздняя

Вы все еще можете использовать прямой ODBC или UniObjects для извлечения данных из вашей базы данных. Если вы планируете использовать ODBC, помимо включения RPC, убедитесь, что вы настроили свою учетную запись Universe для ODBC за Rocket's ODBC documentation. Перед написанием кода на C# я часто проверял настройку ODBC, используя Excel's external data access tools.

+0

и там есть база данных двух типов в Universe, основанная на файлах и на основе таблиц.Я могу фактически запросить таблицу на основе, но есть некоторая конфигурация, которая должна быть выполнена для включения запросов к базе данных на основе файлов. Мы застряли в этом месте. –