Ниже приведены все необходимые переменные и процедуры, нужные для проверки наличия таблицы в нашей базе данных:
//Для доступа к серверу и базе
Перем глСерверТест Экспорт; Перем глБазаТест Экспорт; Перем глПарольТест Экспорт;
//________________________________________________________ Процедура ПроверитьНаличиеТаблицы () Соединение =СоздатьОбъект("ADODB.Connection" ); СтрокаКоннекта ="driver={SQL Server};server=" +глСервер +";uid=sa;pwd=" +глПароль +";Database=" +глБазаДанных ; Соединение .ConnectionTimeOut =20 ; Соединение .CursorLocation =3 ; Попытка Соединение .Open (СтрокаКоннекта ); Исключение Предупреждение("Невозможно установить соединение с базой данных!" ); //Действия Возврат; //******** КонецПопытки; ТекстЗапроса ="if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pics]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) |CREATE TABLE [dbo].[pics] ( | [Number] [int] IDENTITY (1, 1) NOT NULL , | [Picture] [image] NULL |) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]" ; Соединение .Execute (ТекстЗапроса ,,ПараметрыАДО .Получить ("adCmdText" )); Соединение .Close (); Соединение ="" ; КонецПроцедуры
//________________________________________________________ Процедура ПриНачалеРаботыСистемы () глСервер =СокрЛП(Константа.Сервер ); глБазаДанных =СокрЛП(Константа.БазаДанных ); глПароль =СокрЛП(Константа.Пароль ); Если МонопольныйРежим()=0 Тогда //Проверить наличие главной таблицы ПроверитьНаличиеТаблицы (); КонецЕсли; КонецПроцедуры
//________________________________________________________
ПараметрыАДО =СоздатьОбъект("СписокЗначений" );
ПараметрыАДО .ДобавитьЗначение ("adCmdText" ,1 );
ПараметрыАДО .ДобавитьЗначение ("adCmdTable" ,2 );
ПараметрыАДО .ДобавитьЗначение ("adCmdStoredProc" ,4 );
Вернуться к статье "Организация хранилища файлов внутри базы данных 1C+MS-SQL"
|