пароль на sql с запятой внутри

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
talgat55
Активист
Сообщения: 173
Зарегистрирован: 11 Сентябрь 2008, 11:53

пароль на sql с запятой внутри

Сообщение talgat55 »

с10 ABC SQL Для ms sql базы в dct как передать пароль у которого внутри запятая ( в строке - Owner Name ) ?
( имя сервера, имя sql базы, sa, па,роль )
kreator
✯ Ветеран ✯
Сообщения: 4143
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

пароль на sql с запятой внутри

Сообщение kreator »

Если действительно не работает (в принципе, пароль - последний, может и прокатит), то пробуйте одинарные кавычки, двойные, фигурные скобки. В Инете пишут, что одинарные работают. Например вот здесь - https://techarks.ru/qa/sql/parol-sql-se ... 8-zaka-HL/.
We are hard at work… for you. :)
talgat55
Активист
Сообщения: 173
Зарегистрирован: 11 Сентябрь 2008, 11:53

пароль на sql с запятой внутри

Сообщение talgat55 »

пробовал кавычки- не проходит и скобки тоже. Ссылка не рабочая
kreator
✯ Ветеран ✯
Сообщения: 4143
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

пароль на sql с запятой внутри

Сообщение kreator »

Да, ссылка сейчас нерабочая. А вы вот так пишете?

Код: Выделить всё

GLO:SQLOwner = 'MyServer, MyDB, ''sa'', ''sql,'''
Одинарные кавычки два раза должны повторяться.
А импорт из базы с таким паролем работает? Если работает, то можно посмотреть как Кларион сам Connection String создаст.
We are hard at work… for you. :)
talgat55
Активист
Сообщения: 173
Зарегистрирован: 11 Сентябрь 2008, 11:53

пароль на sql с запятой внутри

Сообщение talgat55 »

GLO:VARTM = clip(glo:ip) &','& clip(glo:base) &','& clip(glo:login) &','& '<123>' & clip(glo:pasw) & '<125>'
kreator
✯ Ветеран ✯
Сообщения: 4143
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

пароль на sql с запятой внутри

Сообщение kreator »

talgat55 писал(а): 16 Февраль 2021, 10:37 GLO:VARTM = clip(glo:ip) &','& clip(glo:base) &','& clip(glo:login) &','& '<123>' & clip(glo:pasw) & '<125>'
Я понял, что фигурные скобки не работают. Инет настаивает на одинарных кавычках. Типа вот так:

Код: Выделить всё

GLO:VARTM = clip(glo:ip) &','& clip(glo:base) &','& clip(glo:login) &','& '''' & clip(glo:pasw) & ''''
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1543
Зарегистрирован: 25 Март 2009, 21:55

пароль на sql с запятой внутри

Сообщение gopstop2007 »

в строке разделитель параметров не точка с запятой? ;UID=
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4143
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

пароль на sql с запятой внутри

Сообщение kreator »

gopstop2007 писал(а): 16 Февраль 2021, 11:36 в строке разделитель параметров не точка с запятой? ;UID=
Нет. Запятая. Но это не важно. Сейчас требования по паролю такие, что должны поддерживаться т.н. спец. символы. Я так понимаю, чтобы сервак (или что там ещё) понимал эти спец. символы, пароль надо чем-то "окружить".
We are hard at work… for you. :)
talgat55
Активист
Сообщения: 173
Зарегистрирован: 11 Сентябрь 2008, 11:53

пароль на sql с запятой внутри

Сообщение talgat55 »

не катит
Ал
Ветеран
Сообщения: 872
Зарегистрирован: 08 Июль 2005, 5:48
Откуда: Россия

пароль на sql с запятой внутри

Сообщение Ал »

talgat55 писал(а): 16 Февраль 2021, 12:37 не катит
тут на Visual Basic боролись с ;
https://www.cyberforum.ru/vba/thread1468219.html

Код: Выделить всё

Dim ss As String
Dim pas AS String
 
pas = "{bla;bla}" ' получается экранировать необходимо весь пароль!!! это мной упущено было
ss = "ODBC; Driver={SQL Server};Server=server; Database=database;UID=имя; PWD=" & pas & ";AnsiNPW=No;AutoTranslate=No;QuotedId=No;APP=задача"
Ал
Ветеран
Сообщения: 872
Зарегистрирован: 08 Июль 2005, 5:48
Откуда: Россия

пароль на sql с запятой внутри

Сообщение Ал »

kreator писал(а): 16 Февраль 2021, 12:01
gopstop2007 писал(а): 16 Февраль 2021, 11:36 в строке разделитель параметров не точка с запятой? ;UID=
Нет. Запятая. Но это не важно. Сейчас требования по паролю такие, что должны поддерживаться т.н. спец. символы. Я так понимаю, чтобы сервак (или что там ещё) понимал эти спец. символы, пароль надо чем-то "окружить".
https://www.ibm.com/support/pages/node/233973
talgat55
Активист
Сообщения: 173
Зарегистрирован: 11 Сентябрь 2008, 11:53

пароль на sql с запятой внутри

Сообщение talgat55 »

пробовал фигурные
И как экранировать именно в нашем случае - в строке Owner Name в dct - см.выше - делал и двойные кавычки тоже
Ал
Ветеран
Сообщения: 872
Зарегистрирован: 08 Июль 2005, 5:48
Откуда: Россия

пароль на sql с запятой внутри

Сообщение Ал »

talgat55 писал(а): 16 Февраль 2021, 13:42 пробовал фигурные
И как экранировать именно в нашем случае - в строке Owner Name в dct - см.выше - делал и двойные кавычки тоже
хз. под руками сейчас ms нет, есть cw11+postgresql - добавил на сервере нового пользователя с хитрым паролем, в словаре сделал табличку, в коде при старте Glo:ConnectStringPgSQL1 = 'Driver=PostgreSQL UNICODE;Server=psql...;Port=5432;Database=...;UID=testuser;PWD=па,роль;' , сгенерил стандартный бровз - все работает без { скобок и прочего.
talgat55
Активист
Сообщения: 173
Зарегистрирован: 11 Сентябрь 2008, 11:53

пароль на sql с запятой внутри

Сообщение talgat55 »

так тут отделены параметры с помощью ; а не ,
kreator
✯ Ветеран ✯
Сообщения: 4143
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

пароль на sql с запятой внутри

Сообщение kreator »

Ал, поменяйте в пароле Постгре запятую на точку с запятой.
We are hard at work… for you. :)
Ответить