This post came from curiosity to try some thing and digging into the code of the ODI java and XML and Please dont try this in your Production box. This is completely experimental .
When we don’t have latest driver in the ODI , we copy the driver to ODI and write our own JDBC Url and driver information.
This post is about editing the an DriverRefV3.xml and making a manual entry into ODI Drivers List. Just add the below codes at the end of DriverRefV3.xml. The File is stored under the sunopsis zip folder , this where all the main class and java files of odi is located.
Try this at your home system or your personal development but never in the production box.
The XML File path is – >
C:OraHome_1oracledilibsunopsiscomsunopsisresDriverRefV3.xml
[ Note – : Before doing this Please back up a clean copy of DriverRefV3.xml file ]
The File have an two main Object Class namely com.sunopsis.dwg.dbobj.SnpDriver containing information about JDBC Driver.
The other Object Class is com.sunopsis.dwg.dbobj.SnpUrl containing details about JDBC Url .
For this Example i am adding the JDBD Driver 2.0 for SQL Server 2005 and later. copy the below code and make accordingly changes.
<Object class="com.sunopsis.dwg.dbobj.SnpDriver"> <Field name="IDriver" type="com.sunopsis.sql.DbInt"><![CDATA[31]]></Field> <Field name="SunopsisCompatibility" type="java.lang.String"><![CDATA[1]]></Field> <Field name="DriverLabel" type="java.lang.String"><![CDATA[Microsoft SQL Server 2005 & later Driver for JDBC]]></Field> <Field name="DriverName" type="java.lang.String"><![CDATA[com.microsoft.sqlserver.jdbc.SQLServerDriver]]></Field> <Field name="DriverDesc" type="java.lang.String"><![CDATA[Microsoft SQL Server 2005 Driver for JDBC (Type 4). Use this driver to connect to Microsoft SQL server 2005 & later . Available at http://www.microsoft.com/sql/downloads ]]></Field> <Field name="FirstDate" type="java.sql.Timestamp">null</Field> <Field name="FirstIUser" type="com.sunopsis.sql.DbInt"><![CDATA[null]]></Field> <Field name="LastDate" type="java.sql.Timestamp">null</Field> <Field name="LastIUser" type="com.sunopsis.sql.DbInt"><![CDATA[null]]></Field> </Object> <Object class="com.sunopsis.dwg.dbobj.SnpUrl"> <Field name="IUrl" type="com.sunopsis.sql.DbInt"><![CDATA[31]]></Field> <Field name="IDriver" type="com.sunopsis.sql.DbInt"><![CDATA[31]]></Field> <Field name="UrlName" type="java.lang.String"><![CDATA[jdbd:sqlserver://<host>:<port>;databaseName=<database_name>;SelectMethod=cursor;]]]></Field> <Field name="UrlDesc" type="java.lang.String"><![CDATA[URL to connect to SQL Server 2005 or higher. URL Parameters: <host>: server network name or IP adress. <port>: server port number (usually 1433). <property>=<value>: Connection properties. Refer to the driver's documentation for a list of available properties. Avaialbe at - http://msdn.microsoft.com/en-us/library/ms378428.aspx ]]></Field> <Field name="FirstDate" type="java.sql.Timestamp">null</Field> <Field name="FirstIUser" type="com.sunopsis.sql.DbInt"><![CDATA[null]]></Field> <Field name="LastDate" type="java.sql.Timestamp">null</Field> <Field name="LastIUser" type="com.sunopsis.sql.DbInt"><![CDATA[null]]></Field> </Object>
This idea would have been great if we could have updated in the server box and reflected the same in the client as not the case in ODI . Just an experimental and wish to share with you.
If you have done or found out any such method , Please share with the odiexperts followers.
3 Comments
Leave a reply →