使用 sql 连接到 as400

本文关键字:as400 连接 sql 使用 | 更新日期: 2023-09-27 18:36:37

我认为这是一件相当普遍的事情,在谷歌中很容易找到,但到目前为止,我还没有太多的运气。 我希望我的应用程序使用某种方法连接到 i 系列 AS400 系统,对AS400物理文件运行 SQL 语句,返回结果集,然后让我的可视化c#程序处理结果集。 我听说过ADODB, ODBC, DB2, and OLEDB. 有人可以给我看一个让这些方法之一工作的语法示例吗? 我更喜欢使用一种不依赖于某些软件(如客户端访问)的方法,并且由于您必须配置 DSN,我试图避免使用类似 ODBC 的东西。 我已经搜索了又搜索,但我能找到的最多代码是连接字符串应该是什么样子。 任何帮助不胜感激!

谢谢!

使用 sql 连接到 as400

我在搜索过程中发现了这个问题。

您可以使用 OLEDB 连接连接到 IBM iSeries 并运行 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();