Организация хранилища файлов. Проверка наличия необходимой таблицы в базе данных 1C-SQL.   

Ниже приведены все необходимые переменные и процедуры, нужные для проверки наличия таблицы в нашей базе данных:

//Для доступа к серверу и базе
Перем глСерверТест Экспорт;
Перем глБазаТест Экспорт;
Перем глПарольТест Экспорт;
//________________________________________________________
Процедура ПроверитьНаличиеТаблицы()
    Соединение=СоздатьОбъект("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"