|
|
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
XP ADP Хочу менять свойства конекта Application Name и Workstation ID смотрю CurrentProject.BaseConnectionString PROVIDER=SQLOLEDB.1;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=Citibank;DATA SOURCE=10.10.129.90 Смотрю подключение через EM там по умолчанию проставляется Application Name=Microsoft Office XP;Workstation ID=CB028(моя станция) замечательно Захожу Файл-Подключение-All-Edit Value меняю значения подключаюсь смотрю CurrentProject.BaseConnectionString PROVIDER=SQLOLEDB.1;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=Citibank;DATA SOURCE=10.10.129.90;Use Procedure for Prepare=1;Auto Translate=True;Application Name=AppDSA;Workstation ID=zzz превосходно Теперь хочу заменить из кода Property BaseConnectionString As String read-only но OpenConnection([BaseConnectionString], [UserID], [Password]) делаю CurrentProject.CloseConnection CurrentProject.OpenConnection "PROVIDER=SQLOLEDB.1;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=Citibank;DATA SOURCE=10.10.128.13;Use Procedure for Prepare=1;Auto Translate=True;Application Name=AppDSA;Workstation ID=zzz" хрен , расширенные свойстваи игнорируются вместо них подставляются значения по умолчанию CurrentProject.BaseConnectionString приобретает вид PROVIDER=SQLOLEDB.1;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=Citibank;DATA SOURCE=10.10.129.90 Как програмно добится эфекта как при ручном вводе свойств "Файл-Подключение-All-Edit Value" чтобы не игнорировало расширенный свойства? PS если строку в CurrentProject.OpenConnection не подставлять (параметр то опциональный) то конекшн окна бызы не открывается (два других вижу) а свойства подключения слетают (BaseConnectionString="") и проект при запуске становится оторванным от бызы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 15:28:02 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
Глядя на все эти траблы с коннекшнами на ровном месте, возникает желание отправить аксесс как клиент для MSSQL на свалку истории :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 15:36:49 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
2 Latuk Тут предлагают сохранить строку в файле с пустым значением Workstation ID... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 16:30:49 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
А вообще ноги растут отсюда: ms-help://MS.MSDNQTR.2003APR.1033/oledb/htm/olprcore_chapter20_7.htm это я просто по справке щёлкнул на закладке все в подключении.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 16:40:32 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
>пустым значением Workstation ID В том то и дело что он игнорирует любые значения Workstation ID которые я пытаюсь ему задать и ставить вместо них значения по умолчанию Application Name=Microsoft Office XP;Workstation ID=CB028 с обычным ADO конекшеном все в порядке а с служебными от ADP вот такая петрушка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 16:55:23 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
формат файла, похоже 2002 или позже? тогда, наверно, никак. Что-то на поверхности не видно. С форматом 2000 может быть и можно повозиться.... По крайней мере под акцесс2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 17:20:00 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
2 Latuk:Недавно реализовывал, что-то близкое по теме, может скажешь в принципе зачем хочешь это реализовать, может с другой стороны зайти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 17:26:18 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
хотя, наверно опять соврал... Вот со всеми ремами - посмотри - все-таки один из процессов появляется с "желаемым" именем... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 17:50:40 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
то есть в итоге примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 17:55:25 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
правда, похоже это не совсем то, а может и совсем не то, что требовалось... Хотя для приложения, полностью управляемого кодом, может быть и подойдет - надо "проверять"... нечто подобное прокатывает и с bSStr = "Provider=Microsoft.Access.OLEDB.10.0;Persist Security Info=False;Data Source=ServerName;Integrated Security=SSPI;Initial Catalog=DataBaseName;Data Provider=SQLOLEDB.1;Application Name=RTD-UNKNOWN_Sample22;" With .AccessConnection .Close .Open bSStr End With но выглядит еще хуже - просто сбрасывает "искусственное" подключение, кажется по таймауту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 18:40:02 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
1)сбрасывает в любом случае 2) воспользоваться этим фактически нельзя за пределами объектных скобок. Похоже, Акцесс возвращает в качестве CurrentProject.Connection то, что ему самому вернуть представляется умным в момент обращения... Воспользоваться можно только строкой подключения. Однако формы, привязанные к данным, и прочий датазависимый интерфейс, похоже, жить все равно будут своей жизнью... типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 19:07:09 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
2Victosha Завтра попробую 2Proga В кратце задумывалось так Запускается ADP(ADE)-к оторванный от базы Делает разные дела для которых подключение к базе не нужно (и даже лишне) Например оглядывается вокруг и спомощью обмена форматированными UDP сообщениями через WinSock с пулом приложений пытается обнаружить уже запущенного себя если находит то сам завершается , а найденный процесс активирует. .................................................... Определяет локальный IP-к пихает его в Workstation ID и подключается к базе сначала пытается через домен если не получилось то выкидываю диалог для скульной аутентификации (можно ето подразвить с запоминанием последнего юзверя или списком оных но врядли буду сильно вылизывать у меня за спиной хочухи нет как у тебя) в результате я со стороны сервера всегда могу узнать IP-к клиента (нужно для оповещения клиента о событиях на сервере) я конечно могу замутить некую отдельную табличку и пихать туды или сделать отдельный чистый ADO конект (тем более что он иногда и так нужен) но мне показалось изящным порешать это через свойства штатных конектов а тут на табе незадача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2004, 21:09:04 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
2Victosha сделал Private Sub Кнопка0_Click() Dim bSStr As String CurrentProject.CloseConnection bSStr = "PROVIDER=SQLOLEDB.1;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=Citibank;DATA SOURCE=10.10.129.90;Use Procedure for Prepare=1;Auto Translate=True;Application Name=AppDSA;Workstation ID=xxx123" With CurrentProject.Connection .Close .Open bSStr End With End Sub после CurrentProject.Connection.Open bSStr появляются три подключения причем только одно из них "xxx123" но при обращении к CurrentProject.Connection аксесс почемуто его закрывает и открывает заново уже без "xxx123" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:09:19 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
2 Latuk чем плохо иметь дополнительный коннект? и винсок не нужен рубишь с сервера этот конект когда нужно у клиента событие - закрыт конекшен ага надо подключиться и узнать что сервак от него хочет ? смотрим в табличку сообщений - точно пора обновить ленточную форму или клиентскую часть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:18:04 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
кстати хоть ip и может быть динамическим - почему бы не использовать имя компьютера в сети для винсока? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:19:50 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
>почему бы не использовать имя компь 1)Юзер может быть из другого домена 2)имя все равно переводится в IP но сервак который это делает может отвечать очень долго поскольку приоритет отдан обслуживанию мультимедийных пакетов IP-телефонии даже если вместо IP сервака поставить в проекте его имя то подключается заметно медленнее. Лишний раз его нагружать и от него зависеть не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 12:07:54 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
2 Latuk последний пост мой посмотри внимательнее - там как бы все и написано, что ты наблюл :)) имя приложения и WorkStationID - как бы разные весчи и "бороться" за них как будто по разному надо, в смысле - по разным поводам... Применительно к WorkStationID - как будто достаточно обресетить соответствующее поле и должно подставляться доменное имя машины. Application Name нормально устанавливается руками, и хранится в adp. Если тебе в одном и том же приложении нужно несколько "имен приложений" (или спец имен рабочих станций), то, либо создавай полностью тобой управляемые "честные" соединения, либо используй строку подключения для "временного" соединения, как показано в последнем посте. При этом обращение к CurrrentProject.Connection выполняет единственную функцию - фактически тестирует строку подключения на допустимость/работоспособность. Если ты в своей строке уверен - проверка тебе не нужна. Теоретически можно порассуждать на тему прямой записи/чтения в АДП-файл. Только я с трудом представляю, где оно действительно надо. "Другие способы", может и есть, но я их не знаю. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 12:45:11 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
Цель у меня одна чтобы ХП на сервере могла узнать IP подключенных клиентов раз не получилось через штатные конекшены Теперь думаю что лучше создать служебнуб табличку и писать в нее или создавать еще один чисто ADO конект передавая таки IP через Workstation ID хотя надежда есть ведь аксесс это как-то делает когда руками задаеш мабудь есть какая зацепка. Писать напрямую не хочется (хотя в приципе найти строку в файле не так уж сложно) хочется запихать в уже открытый и присоеденится к серваку чтобы в его master.dbo.sysprocesses поле hostname содержало IP клиента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 13:12:01 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
вряд ли я стал делать отдельную таблицу. Как я понял то, что ты пытаешься сделать – выбор между постоянным соединением и временным на время выполнения команды. В любом случае для ХП это, на мой взгляд, предпочтительнее. По крайней мере – не надо задумываться на тему – находится ли твой рекордсет в режиме «пришпоренной лошади» или нет. При том, что акцессов рекордсет на акцессовом соединении как бы не должен никогда таковым быть, все-таки иногда это не так. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 15:15:31 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
автор>почему бы не использовать имя компь 1)Юзер может быть из другого домена select * from master..sysprocesses Там есть и домен и имя. Все-таки почему бы на использовать имя компа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 15:31:12 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
Повторюсь, уже писал по этому поводу, почему не сделать от клиеннта нормальный TCP коннекшн к маленькому сервису и гонять все уведомления по ТСP а не по UDP ? А как SQL сервер будет общаться с этим сервисом - это сдед вопрос, там никаких проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 15:45:28 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
>А как SQL сервер будет общаться с этим сервисом - это сдед вопрос, там никаких проблем проблеммы как раз есть ALTER PROCEDURE SendWinSockUDP_p (@Mes varchar(255)) as DECLARE @hr int , @obj int DECLARE @ff varbinary(255) exec @hr=sp_OACreate 'MSWinSock.Winsock.1', @obj OUTPUT exec @hr=sp_OASetProperty @obj, 'Protocol',1 exec @hr=sp_OASetProperty @obj, 'RemoteHost','10.10.129.90' exec @hr=sp_OASetProperty @obj, 'RemotePort',65530 SET @ff=cast(@Mes as varbinary(255)) exec @hr=sp_OAMethod @obj,'SendData',NULL,@ff EXEC @hr = sp_OADestroy @obj Если использовать exec @hr=sp_OASetProperty @obj, 'Protocol',0 --(TCPIP) то необходимо дождатся соединения обычно это делается отслеживанием события Connect как это сделать на T-SQL? цикл задержки со сканом свойства State тоже ничего не дает на VB в тело вставляеш DoEvents и нет проблем как это сделать на T-SQL? Собственно потому и выбрал UDP, тем более что его ограничения для меня в данном случае(оповещение клиента о серверных событиях) не существенны. PS Можно конечно написать расширенную ХП но во первых это сложнее, а во вторых у меня на работе сейчас такая машина , что если я на нее VS поставлю она сдохнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2004, 12:15:26 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
Варианты: 1) сервер общается с сервисом по UDP 2) сервис обеспечивает кроме TCP для клиентов, COM интерфейс для управления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2004, 12:43:43 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
Это может тебе и не подойти, по совокупности причин. Но все таки полистай, если раньше не листал... может что полезное и найдется... http://search.microsoft.com/search/results.aspx?st=b&na=88&View=en-us&qu=notification+services (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2004, 16:58:30 |
|
||
|
Как изменить CurrentProject.BaseConnectionString
|
|||
|---|---|---|---|
|
#18+
2 Latuk Вот наткнулся щаз прямо здесь - sql.ru - почитай http://www.sql.ru/articles/mssql/02040201AlertServiceForSQLserv.shtml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 19:19:21 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32749359&tid=1670659]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 406ms |

| 0 / 0 |
