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

Posted on 2004-04-19
Last Modified: 2010-05-18

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

Question by:chandukb
  • 4
  • 3
LVL 11

Expert Comment

ID: 10859503
To connect to a database or the file sytem or what???

Accepted Solution

wendelina earned 125 total points
ID: 10860715
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.

Expert Comment

ID: 10860736
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.

Author Comment

ID: 10869344

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.

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.


Author Comment

ID: 10869567
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.  


Author Comment

ID: 10870642
How about .net provider, is there any .net provider available?


Expert Comment

ID: 11222360
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.

Author Comment

ID: 11223729

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


Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor ( If you're looking for how to monitor bandwidth using netflow or packet s…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now