Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Подключение к базе SQL (число прочтений - 9483 )
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Подключение к базе SQL
14. Декабря 2007 :: 12:39
Печать  
Не могу подключиться к скульной базе.
Поиск по форуму дает пример кода с использованием ПрисоединитьИБ, но в алсе 1С++ ничего подобного нет.
Дайте ссылку на описание или подскажите, как подключиться к базе

Код
Выбрать все
ИБ=СоздатьОбъект("ODBCDatabase");
СтрокаПодключения="DSN=ИмяИлиipсервера; DRIVER=SQL Server(???); Database=ИмяБазы; UID=Логин; PWD=Пароль";
ИБ.ПрисоединитьИБ(СокрЛП(СтрокаПодключения));
Если ИБ.ЕстьСоединение()=0 Тогда
	Предупреждение("Не удалось установить соединение");  
Иначе
	Предупреждение("Ок",2);
КонецЕсли; 


Пишет: Введенный пароль неверен.
В чем может быть причина?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подключение к базе SQL
Ответ #1 - 14. Декабря 2007 :: 12:51
Печать  
Для подключения к текущей ИБ это всё не нужно.
К другой ИБ 1С: ПрисоединитьИБ
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Re: Подключение к базе SQL
Ответ #2 - 14. Декабря 2007 :: 12:59
Печать  
Мне нужно сделать запрос к скульной базе (не 1С).
Но установить соединение с ней не могу.

Соединение(), Открыть(), ПрисоединитьИБ() ... все твердят одно: "Введенный пароль неверен".
Вероятно, ошибка в синтаксисе. Странно, что на все строки подключения у сервака один ответ ...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Подключение к базе SQL
Ответ #3 - 14. Декабря 2007 :: 13:03
Печать  
Тонкости драйвера не нужны они сидят в самом dsn
используй на выбор
Код
Выбрать все
	Имя0DSN = "имя DSN";
	Пароль = "твой пароль";
		sql=СоздатьОбъект("ODBCDatabase");
	Фл1 = sql.Открыть( Имя0DSN, "sa", Пароль);
// или
	Фл1 = sql.Соединение("DSN=" + Имя0 + ";UID=sa;PWD="+ Пароль + ";");
 


перед этим проверь что соеденение с бд проходит успешно
в самом DSN ( кнопка тестировать на последней закладке )
  
Наверх
 
IP записан
 
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Re: Подключение к базе SQL
Ответ #4 - 14. Декабря 2007 :: 13:13
Печать  
Z1 писал(а) 14. Декабря 2007 :: 13:03:
Тонкости драйвера не нужны они сидят в самом dsn
используй на выбор
Код
Выбрать все
	Имя0DSN = "имя DSN";
	Пароль = "твой пароль";
		sql=СоздатьОбъект("ODBCDatabase");
	Фл1 = sql.Открыть( Имя0DSN, "sa", Пароль);
// или
	Фл1 = sql.Соединение("DSN=" + Имя0 + ";UID=sa;PWD="+ Пароль + ";");
 


перед этим проверь что соеденение с бд проходит успешно
в самом DSN ( кнопка тестировать на последней закладке )


Как выглядит "имя DSN"?
Что такое "самом DSN" и о каких закладках идет речь?
Мы вообще про 1С говорим?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Подключение к базе SQL
Ответ #5 - 14. Декабря 2007 :: 13:19
Печать  
Tiap_Liap писал(а) 14. Декабря 2007 :: 13:13:
Как выглядит "имя DSN"?
Что такое "самом DSN" и о каких закладках идет речь?
Мы вообще про 1С говорим?

Пуск --> Насткойка --> ПанельУправления
Далее выбираем  Администрирование
Далее выбираем источники данных odbc и нажимаем ее.
и создаем dsn для ms sql.

  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подключение к базе SQL
Ответ #6 - 14. Декабря 2007 :: 13:23
Печать  
Tiap_Liap писал(а) 14. Декабря 2007 :: 12:59:
Мне нужно сделать запрос к скульной базе (не 1С).

Код
Выбрать все
дб = СоздатьОбъект("ODBCDatabase");
рс = СоздатьОбъект("ODBCRecordset");
Если дб.Соединение("DRIVER=SQL Server;SERVER=192.168.xxx.xxx;UID=UserName;PWD=xxx;DATABASE=DBName;") = 1 Тогда
	рс.УстБД(дб);
... 

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Re: Подключение к базе SQL
Ответ #7 - 14. Декабря 2007 :: 13:41
Печать  
berezdetsky писал(а) 14. Декабря 2007 :: 13:23:
Tiap_Liap писал(а) 14. Декабря 2007 :: 12:59:
Мне нужно сделать запрос к скульной базе (не 1С).

Код
Выбрать все
дб = СоздатьОбъект("ODBCDatabase");
рс = СоздатьОбъект("ODBCRecordset");
Если дб.Соединение("DRIVER=SQL Server;SERVER=192.168.xxx.xxx;UID=UserName;PWD=xxx;DATABASE=DBName;") = 1 Тогда
	рс.УстБД(дб);
... 



Ровно так и пишу с самого начала.
Не устанавливает соединение и все ... На пароль, правда, не ругается.
Есть какие-нибудь требования к юзеру? Например, для 1С он должен быть владельцем базы, а здесь? Этого юзера создали специально для меня. У него не может быть ограничены какие-либо права?
Имеет значение база скульная или оракловская?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Подключение к базе SQL
Ответ #8 - 14. Декабря 2007 :: 13:54
Печать  
Tiap_Liap писал(а) 14. Декабря 2007 :: 13:41:
На пароль, правда, не ругается.
Есть какие-нибудь требования к юзеру? Например, для 1С он должен быть владельцем базы, а здесь? Этого юзера создали специально для меня. У него не может быть ограничены какие-либо права?
Имеет значение база скульная или оракловская?

Конечно имеет там же драйвер odbc другой для oracle. делай odbc dsn с драйвером
бд ORACLE ( см пост 5)
и если не на что не жалуется то что пишет
Сообщить("" +  БД.Открыта() );  
  
Наверх
 
IP записан
 
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Re: Подключение к базе SQL
Ответ #9 - 14. Декабря 2007 :: 13:55
Печать  
Z1 писал(а) 14. Декабря 2007 :: 13:19:
Tiap_Liap писал(а) 14. Декабря 2007 :: 13:13:
Как выглядит "имя DSN"?
Что такое "самом DSN" и о каких закладках идет речь?
Мы вообще про 1С говорим?

Пуск --> Насткойка --> ПанельУправления
Далее выбираем  Администрирование
Далее выбираем источники данных odbc и нажимаем ее.
и создаем dsn для ms sql.



Какой-то пользовательский DSN создался (правда не SQL а Oracle, потому что такого как мне указали сервера скуль не существует). Сейчас буду пробовать.
Что характерно, на закладке SystemDSN созданы несколько DSN. У некоторых в наименовании Test ...
  
Наверх
 
IP записан
 
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Re: Подключение к базе SQL
Ответ #10 - 14. Декабря 2007 :: 13:59
Печать  
Z1 писал(а) 14. Декабря 2007 :: 13:54:
Tiap_Liap писал(а) 14. Декабря 2007 :: 13:41:
На пароль, правда, не ругается.
Есть какие-нибудь требования к юзеру? Например, для 1С он должен быть владельцем базы, а здесь? Этого юзера создали специально для меня. У него не может быть ограничены какие-либо права?
Имеет значение база скульная или оракловская?

Конечно имеет там же драйвер odbc другой для oracle. делай odbc dsn с драйвером
бд ORACLE ( см пост 5)
и если не на что не жалуется то что пишет
Сообщить("" +  БД.Открыта() );  


Сообщить("" +  дб.Открыта() );
{D:\ ... }: Поле агрегатного объекта не обнаружено (Открыта)
  
Наверх
 
IP записан
 
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Re: Подключение к базе SQL
Ответ #11 - 14. Декабря 2007 :: 14:07
Печать  
Или забить на 1С++ и рыть ADO?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Подключение к базе SQL
Ответ #12 - 14. Декабря 2007 :: 14:09
Печать  
Tiap_Liap писал(а) 14. Декабря 2007 :: 14:07:
Или забить на 1С++ и рыть ADO?

тебе решать.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подключение к базе SQL
Ответ #13 - 14. Декабря 2007 :: 14:11
Печать  
Tiap_Liap писал(а) 14. Декабря 2007 :: 14:07:
Или забить на 1С++ и рыть ADO?

А там что, строку подключения прописывать не надо??
  
Наверх
 
IP записан
 
Tiap_Liap
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 02. Ноября 2007
Re: Подключение к базе SQL
Ответ #14 - 14. Декабря 2007 :: 14:20
Печать  
JohnyDeath писал(а) 14. Декабря 2007 :: 14:11:
Tiap_Liap писал(а) 14. Декабря 2007 :: 14:07:
Или забить на 1С++ и рыть ADO?

А там что, строку подключения прописывать не надо??


Надо конечно.
Если сравнить методы 1С++ и ADO, то окажется, что они один в один совпадают с 1С++ (кроме работы с самим сервером 1С).
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать