Did you actually read his question? Heath Stewart wrote: 1. If you're connecting only to SQL Server and not any other DB systems, use the System.Data.SqlClient instead of OLE DB. These are classes written specifically for SQL Server with a lot of optimizations and additional features over OLE DB. His data access is being done from a COM dll, not a .NET component. You are answering the wrong question. Heath Stewart wrote: Typically, most Windows Services use the LocalSystem account. If your connection string is using SSPI and the LocalSystem (SYSTEM) account is NOT added to SQL Server as a viable user that can access the system, you'll get Access Denied. He is very clear about the fact that he is _not_ running the service under LocalSystem. Heath Stewart wrote: Typically, most Windows Services use the LocalSystem account. If your connection string is using SSPI and the LocalSystem (SYSTEM) account is NOT added to SQL Server as a viable user that can access the system, you'll get Access Denied. He's also very clear that the database is on a remote machine, in which case granting LocalSystem access won't help at all because they are two unrelated LocalSystem accounts. Heath Stewart wrote: You should either use a fixed User ID and Password in the connection string, as well as Trusted Connection *sigh* I'm not even going to go there. Fortunately Terry's answer already homes in on what is likely the real problem. -Blake