|
CurrentProject.Connection в accdb
|
|||
---|---|---|---|
#18+
Добрый день, Есть проблема. Перевожу adp в accdb и сталкиваюсь с проблемами. В adp я при входе вбивал login и пароль и в дальнейшем у меня появлялся CurrentProject.Connection с моими логин и паролем. Вся безопасность была на MS SQL сервере. В accdb подключил связанные таблицы и представления, тоже указываю при входе Логин и пароль, но оно в CurrentProject.Connection они не сохраняются. Вот что сохраняется в CurrentProject.Connection. Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=d:\Users\dav\Desktop\ACCESS\NEWWW PROC.accdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database=d:\Users\dav\AppData\Roaming\Microsoft\Access\System.mdw;Jet OLEDB:Registry Path=Software\Microsoft\Office\14.0\Access\Access Connectivity Engine;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=True;Jet OLEDB:Bypass UserInfo Validation=False Как мне сохранить соединение с логином и паролем текущего пользователя, с его правами? Если 20 пользователей, как создать для каждого уникальный Connection с его логином и паролем? Потом должна выполняться хранимая процедура, но она не выполняется, так как User ID передается Admin? а не Петров/ Сидоров. Dim cmd As ADODB.Command Dim prm As ADODB.Parameter Set cmd = New ADODB.Command Set cmd.ActiveConnection = CurrentProject.Connection cmd.CommandText = "st_userid" cmd.CommandType = adCmdStoredProc Set prm = cmd.CreateParameter("st_userid", adChar, adParamReturnValue, 50) cmd.Parameters.Append prm cmd.Execute CurrentUser_Id = cmd.Parameters("st_userid") Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2020, 17:30 |
|
CurrentProject.Connection в accdb
|
|||
---|---|---|---|
#18+
так у вас же в строке явно авторUser ID=Admin; прописано, вот оно под локальным админом accdb и лезет. Уберите, будет под текущей доменной учёткой подключаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2020, 14:10 |
|
CurrentProject.Connection в accdb
|
|||
---|---|---|---|
#18+
авторВ accdb подключил связанные таблицы и представления Кстати вопрос, а как планируете разграничивать доступ к записям таблиц, чтобы через связанные пользователи на ацесс-клиенте не подлезли к чужим записям? Будете представления создавать на сервере с WHERE = CURRENTUSER() чтобы зафильтровывало по доменной учётке, от имени которой присоединённая коннекция открыта? Или вообще закроете таблицы от пользователей правами сервера, чтобы формы работали только через хранимки, возвращающие рекордсеты (recordsource экранных форм)? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2020, 14:16 |
|
CurrentProject.Connection в accdb
|
|||
---|---|---|---|
#18+
ldfanate так у вас же в строке явно авторUser ID=Admin; Уберите, будет под текущей доменной учёткой подключаться.не будет Это строка подключения к JET/ACE, а не к серверу, и в ней, по умолчанию используется Admin А с учетом того, что ТС использует accdb, где уже самоЁ понятие рабочих групп / пользователей "отменили", то только Admin Andrey.dav Перевожу adp в accdb и сталкиваюсь с проблемами. ... Вся безопасность была на MS SQL сервере А кто говорил, что будет легко ? :) Нее, ТС, теперь быстренько забываем про "плюшки" сервера, и начинаем жизнь с "чистого листа" пилить свою систему прав доступа ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2020, 14:28 |
|
CurrentProject.Connection в accdb
|
|||
---|---|---|---|
#18+
Andrey.dav В accdb подключил связанные таблицы и представления, тоже указываю при входе Логин и пароль, но оно в CurrentProject.Connection они не сохраняются. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2020, 15:12 |
|
CurrentProject.Connection в accdb
|
|||
---|---|---|---|
#18+
Andrey.dav Добрый день, Есть проблема. Перевожу adp в accdb и сталкиваюсь с проблемами. Спасибо! Можно забыть про плюшки adp сразу. CurrentProject всегда будет выдавать подключение к аксесовском базе, а не к серверу. Нужно отдельно поднимать соединение, вносить в переменную, и потом юзать его в качестве основного. Но вот беда, при этом линки отваливаются?) и не получается использовать одновременно и линки и сохранённые процедуры?) Выход есть-DAO через odbc, там ещё раскривушки держатся и работают, правда в полуобморочном состоянии. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2020, 00:18 |
|
CurrentProject.Connection в accdb
|
|||
---|---|---|---|
#18+
Делюсь древней процедурой для линка связанных таблиц. Работает как с таблицами в базе данных акцесса так и скл сервера. В базе с которой работаем создаем таблицу TablesDefine В ней прописываем пути к базе или свойства соединения к скл. Я эту процедуру выполнял при каждом запуске программы, но это необязательно. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2020, 09:50 |
|
|
start [/forum/topic.php?fid=45&fpage=11&tid=1609870]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
135ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 502ms |
0 / 0 |