Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для DruOleg

Старожил


Сообщения: 166
Благодарности: 2

Профиль | Отправить PM | Цитировать


Спасибо все за рецепты, сделал так
Код: Выделить весь код
;Тип СУБД
StrCpy $DB_type "$connect_string" ;присваиваем строку подключения
${WordFind} "$DB_type" ";" "+1" "$3" ;получаем подстроку до первого символа ' ; '
Strlen $1 "Provider="                  ;вычисляем длину отсекаемой части
StrCpy $DB_type "$3" "" $1                   ;отсекаем 

;Сервер БД
StrCpy $DB_server "$connect_string" ;присваиваем строку подключения
${WordFind} "$DB_server" ";" "+2" "$3" ;получаем подстроку до первого символа ' ; '
Strlen $1 "Data Source="                  ;вычисляем длину отсекаемой части
StrCpy $DB_server "$3" "" $1                   ;отсекаем 

;Имя БД
StrCpy $DB_name "$connect_string" ;присваиваем строку подключения
${WordFind} "$DB_name" ";" "+3" "$3" ;получаем подстроку до первого символа ' ; '
Strlen $1 "Initial Catalog="                  ;вычисляем длину отсекаемой части
StrCpy $DB_name "$3" "" $1                   ;отсекаем 

;Логин пользователя БД
StrCpy $DB_user "$connect_string" ;присваиваем строку подключения
${WordFind} "$DB_user" ";" "+5" "$3" ;получаем подстроку до первого символа ' ; '
Strlen $1 "User ID="                  ;вычисляем длину отсекаемой части
StrCpy $DB_user "$3" "" $1                   ;отсекаем 

;Пароль пользователя БД
StrCpy $DB_password "$connect_string" ;присваиваем строку подключения
${WordFind} "$DB_password" ";" "+6" "$3" ;получаем подстроку до первого символа ' ; '
Strlen $1 "Password="                  ;вычисляем длину отсекаемой части
StrCpy $DB_password "$3" "" $1                   ;отсекаем 

;Определяем тип СУБД: MS SQL или Firebird
${If} $DB_type == "SQLOLEDB"
   StrCpy $DB_type "MS SQL"
   ExecWait "sqlcmd.exe -S $DB_server -d $DB_name -U $DB_user -P $DB_password -i get_version.sql"
${ElseIf} $DB_type == "LCPI.IBProvider"
   StrCpy $DB_type "Firebird"
${Else}
   MessageBox MB_OK "Не удалось определить тип СУБД!!!"
   ;Abort
${EndIf}
Хотел еще спросить как присвоить значение переменной:
ExecWait "sqlcmd.exe -S $DB_server -d $DB_name -U $DB_user -P $DB_password -i get_version.sql"

Запрос:
SELECT REV FROM VERSN - возвращает обычное число... Его и нужно сравнить с числом 14525.

Отправлено: 16:07, 11-04-2012 | #2527