dbTalk Databases Forums  

SQL Anywhere .NET Data Provider requires access permissions?

sybase.public.sqlanywhere.general sybase.public.sqlanywhere.general


Discuss SQL Anywhere .NET Data Provider requires access permissions? in the sybase.public.sqlanywhere.general forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
ints
 
Posts: n/a

Default SQL Anywhere .NET Data Provider requires access permissions? - 08-10-2009 , 12:22 PM






I've installed SQL Anywhere in a custom directory and added
iAnywhere.Data.SQLAnywhere.dll there.

The .NET program seems to start up and continue to run fine,
but an annoying error pops up:
"SQL Anywhere ADO.NET Data Provider requires access
permissions of one of the following directories:
1. System temporary directory (c:\windows\temp)
2. Current working directory (c:\windows\system32)
3. SQL Anywhere ADO.NET Data Provider assembly directory
(directory where my app and the
iAnywhere.Data.SQLAnywhere.dll are installed)"

I'm running the program as a service under LocalSystem. I'm
not sure how or where I would give the data provider access
permissions. What is it looking for here? What does this
error really mean I'm supposed to do?

Reply With Quote
  #2  
Old   
Nick Elson [Sybase iAnywhere]
 
Posts: n/a

Default Re: SQL Anywhere .NET Data Provider requires access permissions? - 08-10-2009 , 01:58 PM






Actually it the account the service is running under that needs
to be granted access permissions. Grant the SYSTEM account
access to the %temp% directory should be sufficient.


<ints> wrote

Quote:
I've installed SQL Anywhere in a custom directory and added
iAnywhere.Data.SQLAnywhere.dll there.

The .NET program seems to start up and continue to run fine,
but an annoying error pops up:
"SQL Anywhere ADO.NET Data Provider requires access
permissions of one of the following directories:
1. System temporary directory (c:\windows\temp)
2. Current working directory (c:\windows\system32)
3. SQL Anywhere ADO.NET Data Provider assembly directory
(directory where my app and the
iAnywhere.Data.SQLAnywhere.dll are installed)"

I'm running the program as a service under LocalSystem. I'm
not sure how or where I would give the data provider access
permissions. What is it looking for here? What does this
error really mean I'm supposed to do?

Reply With Quote
  #3  
Old   
ints
 
Posts: n/a

Default Re: SQL Anywhere .NET Data Provider requires access permissions? - 08-11-2009 , 04:31 PM



The computers that are having this problem are all systems
that are not joined to any domain, and only have local
filesystems. We can't see any reason the LocalSystem
account wouldn't have access to those folders, and the
Security tab doesn't show up when you aren't on a domain.

Are there more specific steps you could recommend in this
case? We're kind of at a loss as to how we can accomplish
this.

Reply With Quote
  #4  
Old   
Nick Elson [Sybase iAnywhere]
 
Posts: n/a

Default Re: SQL Anywhere .NET Data Provider requires access permissions? - 08-11-2009 , 04:51 PM



The local SYSTEM account has no credentials
per se. It usually gains access via membership
in the group Everyone and one of the first
security measures people consider is revoking
that membership.

So just give this a try. Right-Mouse-Click on
your C:\windows\temp directory from Windows
explorer and select Properties. Then under
the Security tab, grant full access to the
account SYSTEM or the group Everyone.
Then reboot and check how it works after
doing that.

Either way, the account your service is running
under does not have permissions. If you cannot
figure out how Microsoft file system security
is working against you, then you may need to
contact your computer vendor (or Microsoft).


<ints> wrote

Quote:
The computers that are having this problem are all systems
that are not joined to any domain, and only have local
filesystems. We can't see any reason the LocalSystem
account wouldn't have access to those folders, and the
Security tab doesn't show up when you aren't on a domain.

Are there more specific steps you could recommend in this
case? We're kind of at a loss as to how we can accomplish
this.

Reply With Quote
  #5  
Old   
Jen
 
Posts: n/a

Default Re: SQL Anywhere .NET Data Provider requires access permissions? - 09-18-2009 , 06:35 PM



For anybody else who experiences this problem-- SYSTEM did
have permissions in those directories. Upgrading to EBF
3931 seems to have fixed the problem, although this isn't
mentioned as a bug in the readme... maybe this:
================(Build #3923 - Engineering Case
#580607)================

User Impersonation on IIS caused Win32Exception "Access is
denied". This has been fixed.

had a side effect for us?

Reply With Quote
  #6  
Old   
Nick Elson [Sybase iAnywhere]
 
Posts: n/a

Default Re: SQL Anywhere .NET Data Provider requires access permissions? - 09-21-2009 , 09:57 AM



Thanks for that update Jen.

I hadn't considered this might be related to IIS
operation (and specifically User Impersonation);
though in hindsight that may have seemed to be
an obvious 'likely' scenario.

<Jen> wrote

Quote:
For anybody else who experiences this problem-- SYSTEM did
have permissions in those directories. Upgrading to EBF
3931 seems to have fixed the problem, although this isn't
mentioned as a bug in the readme... maybe this:
================(Build #3923 - Engineering Case
#580607)================

User Impersonation on IIS caused Win32Exception "Access is
denied". This has been fixed.

had a side effect for us?

Reply With Quote
  #7  
Old   
Jen
 
Posts: n/a

Default Re: SQL Anywhere .NET Data Provider requires access permissions? - 09-21-2009 , 04:04 PM



Well, no sooner than I open my mouth... the tenth or so time
I rebooted, it showed up again. And then started showing up
on first reboot when I tried from scratch again.

We're not using IIS, so not sure.

The only thing I can think of is that we are running into
some kind of dll-extraction race condition scenario. Seven
NET services all trying to extract that file out... ProcMon
doesn't show any ACCESS DENIED problems, but it shows a lot
of NAME COLLISION.

We're going to open a support case because this has been in
investigation for too long and we need to wrap this release
up Will post when we figure out what the problem was.

Quote:
Thanks for that update Jen.

I hadn't considered this might be related to IIS
operation (and specifically User Impersonation);
though in hindsight that may have seemed to be
an obvious 'likely' scenario.

Jen> wrote in message
news:4ab41954.45e.1681692777 (AT) sybase (DOT) com... For anybody
else who experiences this problem-- SYSTEM did have
permissions in those directories. Upgrading to EBF 3931
seems to have fixed the problem, although this isn't
mentioned as a bug in the readme... maybe this:
================(Build #3923 - Engineering Case
#580607)================
User Impersonation on IIS caused Win32Exception "Access
is denied". This has been fixed.

had a side effect for us?


Reply With Quote
  #8  
Old   
Jen
 
Posts: n/a

Default Re: SQL Anywhere .NET Data Provider requires access permissions? - 10-01-2009 , 04:02 PM



Sybase Support has confirmed that we are indeed running into
a race-condition scenario with our services. This should be
fixed in the next EBF.

Jen

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.