Merci Scott pour votre excellente question. Assurez-vous que SQLExpress a lu, écrit, modifié l'accès au dossier de déploiement qui contient le fichier de données. Ensuite, vous devez vous assurer que tous les utilisateurs qui accèdent à votre application peuvent modifier les données. Vous pouvez accorder un accès complet, mais ce n'est pas conseillé. Au lieu de cela, créez un compte d'utilisateur SQL local et accordez à l'utilisateur la possibilité de modifier votre base de données. Suivant veiller à ce que l'instance SQL a été mis en place pour un login en mode mixte par:
"USE [master] " & _
"EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2 "
Le créera au-dessus de ce fichier journal si les utilisateurs SQL ont la possibilité de modifier le répertoire !!
accorder Maintenant, l'utilisateur créé par:
"CREATE Login UName WITH PASSWORD = 'UPassword', DEFAULT_DATABASE=[MyDatabase], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF; " & _
"exec sp_addsrvrolemember N'UName', sysadmin; "
Maintenant, ajoutez cet utilisateur à tous les rôles que vous souhaitez, par exemple:
"USE [MyDatabase] "
"EXEC sp_addrolemember N'db_datareader', N'User' "
Il y a d'autres actions que vous pouvez choisir de prendre la utilisateur. Mais cela dépend de ce que vous essayez d'accomplir.
La dernière étape consiste à connecter votre application à l'aide de ce nouveau compte par:
Chaîne de connexion:
Data Source=***********\SQLEXPRESS;AttachDbFilename=****\Datafile.mdf;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=UNAME;Password=UPassword" />
Juste pour être clair - avez-vous joint un fichier MDF existant lors de l'installation? Si oui, je demanderais pourquoi c'est nécessaire (c'est une question directrice - pas une suggestion que vous faites quelque chose de mal!) – Murph
Non, pas un fichier MDF existant sur la machine client. Nous déployons un MDF et LDF, montage de ce fichier et en cours d'exécution dans le problème – GWTF