Microsoft CRM integration: Oracle database access from MS CRM


Microsoft CRM integration: Oracle database access from MS CRM

 by: Boris Makushkin

Today’s article topic is customization possibility demonstration for user web interface of Microsoft CRM. As an example we’ll use MS CRM integration with ASP.Net application, accessing customer data access, when customers are stored in Oracle 10g database. Let’s begin:

1. First, let’s create the table to store customer information in Oracle database. We’ll use web application iSQL for table metadata manipulation:

2. Table is now created and contains four fields: CUSTOMERID, FIRSTNAME, LASTNAME и ADDRESS. Fill it with text data:

3. Now we’ll work with data access to Oracle database from ASP.Net application. We should download from Oracle site http://www.oracle.com Windows Instant Client. We don’t have to install it – just unpack all the files in the directory of your choice, for example c:oracle and set environmental variable TNSADMIN, pointing to this directorty.

4. In c:oracle directory (or where TNSADMIN point out) create file tnsnames.ora as following (change host and service names):

ORCL1

(DESCRIPTION

(ADDRESS (PROTOCOL TCP)(HOST oraclehost.youtdomain.com)(PORT 1521))

(CONNECTDATA

(SERVER DEDICATED)

(SERVICENAME ORCL1)

)

)

5. Make correction to windows registry to have MS SQL Linked Server work properly withOracle OLE DB Provider. In the hive KEYLOCALMACHINESOFTWAREMicrosoftMSDTCMTxOCI make these changes:

OracleXaLib "oracleclient8.dll"

OracleSqlLib "orasql8.dll"

OracleOciLib "oci.dll"

6. Now let’s create Linked Server in MS SQL Server 2000:

Note: in the Security tab we need to use security context with the credentials, having valid access to Oracle Database.

7. Linked Server is ready – let’s test it functioning – open table list. We should see customer table there:

8. Now we’ll create stored procedure for Oracle data access:

SET ANSINULLS ON

SET ANSIWARNINGS ON

GO

CREATE PROCEDURE MyCustomersList AS

SELECT FROM OPENQUERY(ORACLE, 'SELECT FROM Customer')

RETURN

9. Next step is customizing Microsoft CRM using interface. We’ll add customer list button into Quote screen toolbar. Edit isv.config:

Change Url to your host name.

10. To create ASPX page we’ll use RAD for ASP.Net - WebMatrix:

11. Create new page for data access:

12. Change it’s code to access our data:

Sub PageLoad(Sender As Object, E As EventArgs)

Dim ConnectionString As String "server(local);databaseAlbaspectrum;trustedconnectiontrue"

Dim CommandText As String "EXEC MyCustomersList"

Dim myConnection As New SqlConnection(ConnectionString)

Dim myCommand As New SqlCommand(CommandText, myConnection)

myConnection.Open()

DataGrid1.DataSource myCommand.ExecuteReader(CommandBehavior.CloseConnection)

DataGrid1.DataBind()

End Sub

13. Now we’ll test our web application by calling it from MS CRM:

Happy programming, implementation, customization and modification! If you want us to do the job – call use 1-630-961-5918, 1-866-528-0577, Europe: +49 231 4387600! help@albaspectrum.com