title: Timberline ODBC Error with SQL Server Linked Server: Cannot initialize the data source object
body: <p>Just to lay the ground work:</p>
  
  <ul>
  <li>On a 64bit Windows server we have a 64bit install of SQL Server 2008 R2</li>
  <li>We installed a 32bit version of SQL Server Express on the same machine</li>
  <li><p>Using the 32bit Express version, we successfully created a linked server to a Timberline data store as follows:</p>
  
  <pre><code>EXEC sp_addlinkedserver
       @server = 'TimberlineTest',
       @provider = 'MSDASQL',
       @srvproduct='Timberline Data',
       @datasrc = 'TimberlineDSN'
  </code></pre></li>
  </ul>
  
  <p>This then returns all of the tables:</p>
  
  <pre><code>exec sp_tables_ex 'TimberlineTest'
  </code></pre>
  
  <p>We also created a user as follows:</p>
  
  <pre><code>EXEC sp_addlinkedsrvlogin
   @rmtsrvname = 'TimberlineTest',
   @useself = 'False',
   @rmtuser = 'sa',
   @rmtpassword = 'xxxxxx'
  GO
  </code></pre>
  
  <p>Also, within a SSMS query window, this works great when run against the Master db:</p>
  
  <pre><code>select * from timberlinetest.[c:\Training\Extended]..Master_PRM_Employee
  </code></pre>
  
  <p>Everything works just fine so long as we execute the queries from within SSMS. However, when we fire up any sort of third party tool that might try to access that linked server, we start running into trouble. We have a little query testing tool that allows you to enter a connection string and run queries.  We're using this connection string to first get to the Master db:</p>
  
  <pre><code>Provider=SQLOLEDB; Data Source=localhost\SQLEXPRESS32BIT; Libraries=Master; User ID=sa; Password=xxxxxx
  </code></pre>
  
  <p>That connection works, and we can ping the server and query the Master db.  But when we try the same Timberline query (select * from timberlinetest....) we run into this error:</p>
  
  <blockquote>
    <p>Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "timberline test".  OLE DB provider "MSDASQL" for linked server "timberline test" returned message "[Sage Timberline Office][Sage Timberline Office ODBCDriver][DRM File Library] Invalid account name."</p>
  </blockquote>
  
  <p>A couple of things to note... for testing purposes:</p>
  
  <ul>
  <li>On the directory <code>c:\Training\Extended</code> we have opened security wide up, setting <code>Everyone</code> to full read-write permissions</li>
  <li>Within Timberline itself, we disabled security (Tools > Security Admin > Security Settings > Unchecked "Turn On Application Security")</li>
  </ul>
  
  <p>I'm not sure what else to do here. Any advice would be great.</p>