Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) gdb (число прочтений - 6368 )
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: gdb
Ответ #15 - 03. Марта 2011 :: 12:54
Печать  
yes - получилось! при запущенном сервере - соединение из 1с есть.
теперь осталось только понять, каким образом писать запрос
  
Наверх
ICQ  
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: gdb
Ответ #16 - 03. Марта 2011 :: 14:40
Печать  
окончательно разобрался, выкладываю описание решения, кому понадобится

собственно текст модуля класса для соединения

Код
Выбрать все
// ---------------------------------------------------------------
Функция Сам(конт) возврат конт КонецФункции

//*******************************************
Функция Соединение(имяфайла,отключитьпредупреждение=0) экспорт
    // перед попыткой соединения с базой нужно:
	// установить сервер firebird: Firebird-2.0.6.13266_0_win32.exe
	// установить драйвер ODBC fb: Firebird_ODBC_2.0.0.150_Win32.exe
	// убедиться что сервер запущен.
	// работа с iSQL
	// выполнить "C:\Program Files\Firebird\Firebird_2_0\bin\isql.exe"
	// потом:
	// SQL>connect <имя файла (в кавычках)>
	// CON>user 'sysdba' password 'masterkey';
	// потом узнать имена таблиц:
	// SQL>show table;        
	// алиасы для файлов баз данных - в файле "C:\Program Files\Firebird\Firebird_2_0\aliases.conf"
                              

	упреждение);
	стрсоединение="DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME="+имяфайла;

	_база =СоздатьОбъект("ODBCDatabase");  
	Если _база.Соединение(стрсоединение) =0 Тогда
		если отключитьпредупреждение<>1 тогда
			Предупреждение("Ошибка открытия БД "+имяфайла, 60);
		КонецЕсли;
		Возврат 0;
	КонецЕсли;

	_рс =СоздатьОбъект("ODBCRecordSet");
	сам(контекст).УстБД(_база);                        
	возврат 1;                                  

КонецФункции  
 

  
Наверх
ICQ  
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: gdb
Ответ #17 - 04. Марта 2011 :: 02:37
Печать  
ol писал(а) 03. Марта 2011 :: 12:54:
yes - получилось! при запущенном сервере - соединение из 1с есть.
теперь осталось только понять, каким образом писать запрос

Очень просто - это обычный PL-SQL... примерно такой же как в oracle.

Не путай только с T-SQL, который используется в MSSQL и т.д.

P.S.: Когда-то давно мною был нарисован сей класс
  
Наверх
 
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: gdb
Ответ #18 - 04. Марта 2011 :: 14:55
Печать  
как раз сегодня с этой страницы, где класс  Улыбка поставил плюс, за то что помог мне понять нехитрую идею - перед именем алиаса в строке соединения нужно через двоеточие писать ip сервера. Как только это дошло - так снята была последняя проблема. так что спасибо еще раз  Улыбка
  
Наверх
ICQ  
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: gdb
Ответ #19 - 04. Марта 2011 :: 14:59
Печать  
а что касается разновидностей sql запросов - то я уж сбился со счета:
запрос по oledb к файловой базе;
запрос обычной sql базы
запрос к access, excel (есть Ole вариант), теперь firebird

везде есть некие тонкие различия. в классификации пока не разбираюсь
  
Наверх
ICQ  
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: gdb
Ответ #20 - 05. Марта 2011 :: 03:25
Печать  
ol писал(а) 04. Марта 2011 :: 14:59:
а что касается разновидностей sql запросов - то я уж сбился со счета:
запрос по oledb к файловой базе;
запрос обычной sql базы
запрос к access, excel (есть Ole вариант), теперь firebird

везде есть некие тонкие различия. в классификации пока не разбираюсь

Ты не совсем прав. разновидностей языков sql не так уж и много - их всего 2: Transact-SQL или T-SQL и PL/SQL (Procedural Language/Structured Query Language). Остальное - лишь диалекты.
  
Наверх
 
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: gdb
Ответ #21 - 05. Марта 2011 :: 06:09
Печать  
ты прав, типичные рассуждения 1-с ника  Улыбка
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать