Home All Groups Group Topic Archive Search About

how to access MS Access table from SQL Server 2000?

Author
18 May 2006 9:49 PM
cooltech77
Hi,

I need to access a MS Access table from SQL Server 2000.
Basically this is what I am trying to do.

I do not have rights to create anything on the server except temp tables.
So I read from the server's SQL table and copy data to MS-Access table on my
hard disk.

I append data to the MS Access table daily and store the date on which I
appended data.

Now,I need to compare yesterdays and today's data from this Access table to
check which rows have changes.In SQL Server,I can use the BINARY_CHECKSUM(*)
function to do that.But there is no such equivalent in Access so I am
thinking of somehow retrieving todays and yestredays data from the MS Access
table and copying it into SQL server 2000 temp tables and run
Binary_checksum(*) on the temp tables.

I need help in understanding as to how I can use the Acess table on my hard
disk to populate temp tables in SQL server.
Also,Is there a better way to accomplish what I am trying to do?
Thanks for your help.

Regards,
cooltech77

Author
18 May 2006 10:01 PM
Mark Williams
Check out linked servers in books online:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_adda_8gqa.asp

They have an example of linking to an Access file.

--


Show quote
"cooltech77" wrote:

> Hi,
>
> I need to access a MS Access table from SQL Server 2000.
> Basically this is what I am trying to do.
>
> I do not have rights to create anything on the server except temp tables.
> So I read from the server's SQL table and copy data to MS-Access table on my
> hard disk.
>
> I append data to the MS Access table daily and store the date on which I
> appended data.
>
> Now,I need to compare yesterdays and today's data from this Access table to
> check which rows have changes.In SQL Server,I can use the BINARY_CHECKSUM(*)
> function to do that.But there is no such equivalent in Access so I am
> thinking of somehow retrieving todays and yestredays data from the MS Access
> table and copying it into SQL server 2000 temp tables and run
> Binary_checksum(*) on the temp tables.
>
> I need help in understanding as to how I can use the Acess table on my hard
> disk to populate temp tables in SQL server.
> Also,Is there a better way to accomplish what I am trying to do?
> Thanks for your help.
>
> Regards,
> cooltech77
>
>
Author
18 May 2006 10:24 PM
cooltech77
Thanks Mark.But I do not even have execute permissions on any stored procs in
the database so I cant use sp_addlinkedserver.
Any other way I can do this?

Thanks.

Show quote
"Mark Williams" wrote:

> Check out linked servers in books online:
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_adda_8gqa.asp
>
> They have an example of linking to an Access file.
>
> --
>
>
> "cooltech77" wrote:
>
> > Hi,
> >
> > I need to access a MS Access table from SQL Server 2000.
> > Basically this is what I am trying to do.
> >
> > I do not have rights to create anything on the server except temp tables.
> > So I read from the server's SQL table and copy data to MS-Access table on my
> > hard disk.
> >
> > I append data to the MS Access table daily and store the date on which I
> > appended data.
> >
> > Now,I need to compare yesterdays and today's data from this Access table to
> > check which rows have changes.In SQL Server,I can use the BINARY_CHECKSUM(*)
> > function to do that.But there is no such equivalent in Access so I am
> > thinking of somehow retrieving todays and yestredays data from the MS Access
> > table and copying it into SQL server 2000 temp tables and run
> > Binary_checksum(*) on the temp tables.
> >
> > I need help in understanding as to how I can use the Acess table on my hard
> > disk to populate temp tables in SQL server.
> > Also,Is there a better way to accomplish what I am trying to do?
> > Thanks for your help.
> >
> > Regards,
> > cooltech77
> >
> >
Author
19 May 2006 12:55 AM
MeanOldDBA
Why don't you talk to the DBA and tell him what you want to do?  Also, look
at openrowset in Books Online.
--
MeanOldDBA
derricklegg***@hotmail.com
http://weblogs.sqlteam.com/derrickl

When life gives you a lemon, fire the DBA.


Show quote
"cooltech77" wrote:

> Thanks Mark.But I do not even have execute permissions on any stored procs in
> the database so I cant use sp_addlinkedserver.
> Any other way I can do this?
>
> Thanks.
>
> "Mark Williams" wrote:
>
> > Check out linked servers in books online:
> >
> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_adda_8gqa.asp
> >
> > They have an example of linking to an Access file.
> >
> > --
> >
> >
> > "cooltech77" wrote:
> >
> > > Hi,
> > >
> > > I need to access a MS Access table from SQL Server 2000.
> > > Basically this is what I am trying to do.
> > >
> > > I do not have rights to create anything on the server except temp tables.
> > > So I read from the server's SQL table and copy data to MS-Access table on my
> > > hard disk.
> > >
> > > I append data to the MS Access table daily and store the date on which I
> > > appended data.
> > >
> > > Now,I need to compare yesterdays and today's data from this Access table to
> > > check which rows have changes.In SQL Server,I can use the BINARY_CHECKSUM(*)
> > > function to do that.But there is no such equivalent in Access so I am
> > > thinking of somehow retrieving todays and yestredays data from the MS Access
> > > table and copying it into SQL server 2000 temp tables and run
> > > Binary_checksum(*) on the temp tables.
> > >
> > > I need help in understanding as to how I can use the Acess table on my hard
> > > disk to populate temp tables in SQL server.
> > > Also,Is there a better way to accomplish what I am trying to do?
> > > Thanks for your help.
> > >
> > > Regards,
> > > cooltech77
> > >
> > >
Author
19 May 2006 2:55 AM
Omnibuzz
Use opendatasource. We had quite a few posts on using it in the past few days.
You may check it out.
Author
19 May 2006 6:10 PM
cooltech77
hi,

I am running the following query and getting this error.

Could not create an instance of OLE DB provider 'Microsoft.Jet.OLEDB.4.0'.
OLE DB error trace [Non-interface error:  CoCreate of DSO for
Microsoft.Jet.OLEDB.4.0 returned 0x80040e73].

I am using windows xp SP2 and Access 2003 and running this query on  a SQL
server 2000 which is on a network.

The machineNameOnNetwork is my local machine name on the corporate network.

SELECT   *
FROM  OPENdatasource(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\machineNameOnNetwork\C$\Test.mdb;"
User ID=admin;Password=somePassword;"'
).Test.dbo.Employees

Thanks for your time.

Regards,
cooltech@77
Show quote
"Omnibuzz" wrote:

> Use opendatasource. We had quite a few posts on using it in the past few days.
> You may check it out.
>

AddThis Social Bookmark Button