How to connect to AS400(JDEdwards) from an application......


I need to connect to AS400 from my application.  Can anyone has any ideas/suggestions?
Code examples are appreciated.

Who is Participating?
wendelinaConnect With a Mentor Commented:
Assuming you're attempting to retreive data from a file, you can treat the AS400 like it's a database.

I don't know if this is the only way, or even the best way, but this is how I've done it.

Install IBM Client Access on your ASP server. (You really only need the Client Access ODBC Driver (32-bit) driver installed, but this is the easiest way to go about it.)

Create an System DSN ODBC connection to your AS400.

Under the tab: General
    Data source name: Give the ODBC connection a name. You will use this in ASP as your DSN.
    System: Enter the IP or name of your AS400.

Under the tab: Server
    Naming Convention: Choose - SQL Naming Convention (*SQL)
    SQL Default Library: Type the name of the library in which the file resides (I had to ask our AS400 operators)
    Connection Type: I chose "Read-Only", since we do not update our 400 from the web.

Under the tab: Packages
     Enable extended dynamic (package) support: Uncheck this option (I've been told it's faster ???)

Under the tab: Performance
     Enable lazy close support: Check (Another mystery ???)
     Uncheck all others

Under the tab: Language
     Sort Type: Sort based on HEX values (??)

Under the tab: Catalog
     OS/400 Library view: Default library list (?)
     Object Description Type: OS/400 Object Description
     Enable Search Patterns: Check

Under the tab: Translation
     Convert binary data...: Check

Under the tab: Diagnostic
     Uncheck all

Your connection will look something like this:

Dim objConn
set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionTimeout = 1000
objConn.CommandTimeout = 1000

objConn.Open "ODBC Name",Request.QueryString("username"),Request.QueryString("password")
if Err.number <> 0 then
     'If the error is with a bad username/password return and error code of 1
     if Err.number = -2147217843 or Err.number = -2147467259 then
          Response.Write("<font class=""error"">You entered an invalid User Id and Password combination.</font><br /><br />")

          set objConn = nothing
     end if
end if

I recommend using the Err.number code. It will check to see if the user is valid on the system. I actually do this part first. If it verifies, THEN let them into the 400 to access the data. (The error codes may vary from system to system... I really don't know. If the above fails, simply output the error codes you receive and try anything you can to break the login to get all codes.)

I hope that helps.
To connect to a database or the file sytem or what???
Sorry, I forgot to mention. I'm doing this in Classic ASP. I don't think there'd be much of a difference, but my experience with .NET has been limited.
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

chandukbAuthor Commented:

Where can I find Client Access ODBC Driver, I checked on IBM site, but couldn't find it.  Do you have any links?  

Thank You for your help.

chandukbAuthor Commented:
Can I use OLEDB to connect to AS400.  I found some info about IBMDA400, where can I find this oledb driver.  I think if I use oledb driver, I do not have to create dsn using odbc driver, am I right.  Please comment.  

chandukbAuthor Commented:
How about .net provider, is there any .net provider available?

Sorry I didn't respond to this sooner.

Beyond "Client Access Express" (now known as "iSeries Access"), I'm not familiar with any other drivers or ways to connect. I was actually kinda lucky I came across the ODBC solution. As you probably know pretty well, there really isn't that much out there about connecting to a 400 from the web.
chandukbAuthor Commented:

I am coding my ASP.NET app using iSeries .Net provider beta from IBM.  I will let you know after I am done testing.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.