2012-06-10 5 views
1

Я бы подумал, что это будет довольно распространенная вещь, и ее легко найти в Google, но до сих пор мне не повезло. Я хотел бы, чтобы мое приложение подключилось к системе i-series AS400, используя какой-либо метод, запустите оператор SQL над физическим файлом AS400, верните результирующий набор, а затем обработайте мою визуальную программу c#. Я слышал о ADODB, ODBC, DB2, and OLEDB. Может ли кто-нибудь показать мне пример синтаксиса для получения одного из этих методов? Я бы предпочел использовать метод, который не зависит от наличия определенного программного обеспечения, такого как клиентский доступ, и я стараюсь избегать использования чего-то вроде ODBC из-за того, что вам необходимо настроить DSN. Я искал и искал, но самый код, который я могу найти, это то, как должна выглядеть строка подключения. Любая помощь приветствуется!Подключиться к as400 с помощью sql

Спасибо!

+0

я, наконец, получил один работает, используя ADODB. Спасибо, в любом случае! – user1420914

ответ

2

Я нашел этот вопрос во время моего поиска.

Вы можете подключиться к IBM iSeries с помощью соединения OLEDB и выполнить SQL-запросы, а затем получить результаты, но сначала вам нужно выполнить некоторые шаги.

  1. Вам нужен поставщик данных AS400 .Net. - http://www-03.ibm.com/systems/power/software/i/access/windows/dotnet.html

  2. Вам необходимо написать свою строку подключения. - http://www.connectionstrings.com/as-400

  3. Некоторые код, а затем

    string ConnectionString = AS400ConnectionString; 
    OleDbConnection _Connection = new OleDbConnection(ConnectionString); 
    OleDbCommand _Command = _Connection.CreateCommand(); 
    
          string strQuery = string.Empty; 
          strQuery += @"SELECT * FROM Contacts"; 
    
          if (string.IsNullOrEmpty(strQuery)) 
          { 
           throw (new Exception("No Library Setup")); 
          } 
    
          _Command.CommandText = strQuery; 
          if (_Connection.State != ConnectionState.Open) 
           _Connection.Open(); 
    
          OleDbDataReader reader = _Command.ExecuteReader(); 
    
          while (reader.Read()) 
          { 
           //Your Logic 
          } 
    
          reader.Close(); 
          if (_Connection.State != ConnectionState.Closed) 
           _Connection.Close(); 
    
Смежные вопросы