Can't access SQL Server file in the server mac

2019-08-15 02:32发布

I setup the my WCF service on server machine.

The server OS is Windows 2008 with SQL Server 2008 Express.

I am trying to access to my SQL Server (mdf) file to read data using LINQ to SQL.

I see that the DataContext is OK - but when I try to get information that in one of the table I get an exception

Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.

I don't know what i need to define or change in the IIS 7.5 that I'm using in the server side.

Thanks for any help.

Update: the connection to the database file is fine - but getting information from table is thru an exception. The connection string is:

Data Source=.;AttachDbFilename=|DataDirectory|\ServiceData.mdf;
  Integrated Security=SSPI;User Instance=True

2条回答
贼婆χ
2楼-- · 2019-08-15 03:19

If you already have a server, why don't you just attach the MDF to the SQL Server (Express) running, and then use it like a normal database on your server?

After you do this, use a connection string like:

server=Server\SQLExpress;Database=YourDatabaseName;Integrated Security=SSPI

I never quite liked the AttachDbFileName= and User Instance approach - seems like a (unreliable) hack to me, which really doesn't make sense if you're running on a server machine.

查看更多
混吃等死
3楼-- · 2019-08-15 03:21

The reason that you are getting this error message is because your code is in the security context of a user that has never logged on to the server. The user therefore does not have a profile and you therefore get an error when the code attempts to write to a non-existant profile.

You could use marc_s's approach or you could run as a user that has a profile.

查看更多
登录 后发表回答