Establishing a Connection
Creating a JDBC Data Source
You can create a JDBC data source to connect from your Java application. Creating a JDBC data source based on the CData JDBC Driver for Sage 300 consists of three basic steps:
- Add the driver JAR file to the classpath. The JAR file is located in the lib subfolder of the installation directory. Note that the .lic file must be located in the same folder as the JAR file.
- Provide the driver class. For example:
cdata.jdbc.sage300.Sage300Driver
- Provide the JDBC URL. For example:
jdbc:sage300:User=SAMPLE;Password=password;URL=http://127.0.0.1/Sage300WebApi/v1/-/;Company=SAMINC; or jdbc:cdata:sage300:User=SAMPLE;Password=password;URL=http://127.0.0.1/Sage300WebApi/v1/-/;Company=SAMINC;
The second format above can be used whenever there is a conflict in your application between drivers using the same URL format to ensure you are using the CData driver. The URL must start with either "jdbc:sage300:" or "jdbc:cdata:sage300:" and can include any of the connection properties in name-value pairs separated with semicolons.
Before Authenticating
Sage 300 requires some initial setup in order to communicate over the Sage 300 Web API. The logged in user must have API access to one or all modules of the Sage300 instance. In Sage300 a user is assigned a security group. A security group is a set of permissions for each module. It is recommended that you use a different user other than the ADMIN user to access the API. The ADMIN user has a couple of extra steps in order to gain access to the API. Follow the steps below in order to obtain access to the API.
Creating a User
Skip this step if you have already created a new user or you would like to use an existing account.
- Open the Sage300 Desktop Application which is included in the installation of Sage300. Log in with the ADMIN account.
- Go to Administrative Services -> Users
- Fill in the required information and click Add
Setting up the Security Group
- Open the Sage300 Desktop Application which is included in the installation of Sage300. Log in with the ADMIN account.
- Go to Administrative Services -> Security Groups
- In the Application you will find all the modules of Sage300. The Group ID represents the security group you want to modify. Below you will find a list of permissions that you can check.
- (Optional)Create a new Security Group fill the Group ID, Group Description and check any of the permissions including the Sage 300 Web API permission. Lastly click Add(per each application required)
- Or select an existing Security Group you are going to assign to the User under Group ID and check the Sage 300 Web API permission in the end of permissions(per each application required).
Assigning a Security Group
- Open the Sage300 Desktop Application which is included in the installation of Sage300. Log in with the ADMIN account.
- Go to Administrative Services -> User Authorization
- Under User ID select your new/existing User
- Now for each Application assign the Group ID which you created/modified
- Once the user access is done, ensure that they have access to the web API. Replace 'server' with your Sage300 instance URL.
Connecting to Sage 300
The CData JDBC Driver for Sage 300 communicates to Sage 300 over the OData API. You can authenticate to Sage 300 using Basic authentication.
Basic Authentication
You must provide values for the following properties to successfully authenticate to Sage 300. Note that the provider will reuse the session opened by Sage 300 using cookies.
This means that your credentials will be used only on the first request to open the session. After that, cookies returned from Sage 300 will be used for authentication.
- Url: Set this to the url of the server hosting Sage 300. Construct a URL for the Sage 300 Web API as follows: {protocol}://{host-application-path}/v{version}/{tenant}/ For example, http://localhost/Sage300WebApi/v1.0/-/.
- User: Set this to the username of your account.
- Password: Set this to the password of your account.