Prateek gsharma Ответов: 1

Невозможно загрузить видеоданные в базу данных(access database)


я создаю приложение для потоковой передачи видео в asp.net веб-форма
получение ошибки в con.open();

ниже приведена ошибка

Исключение типа 'System.Data.OleDb.OleDbException' произошло в System.Data.dll но не был обработан в пользовательском коде

Дополнительная информация: недопустимое имя файла.

Что я уже пробовал:

охраняемых недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
Строки constring = "поставщика=Майкрософт.Туз.Oledb для.12.0;Источник данных=Ф:\видеоданные.# то # ";
OleDbConnection con = новый OleDbConnection(constring);
FileUpload1.SaveAs(Сервер.MapPath("~/video/") + Path.GetFileName(FileUpload1.FileName));
Строку ссылка = "/ Видео / " + путь.GetFileName(FileUpload1.Именем);
link = "<Source src =" + link + " type = video/mp4>";

Строку запрос = "вставить в EETube(имя,Videotitle,Видеолинк) значения('"+ текстовое поле textbox1.Текст +"','" + Поле Textbox2.Текст + "','" + ссылка + "')";
OleDbCommand cmd = new OleDbCommand(query, con);
против.Открыть();
УМК.CommandText = запрос;

int i = cmd.Метод executenonquery();
против.Закрывать();
Этикетка 1.Text = "видео было успешно загружено";
Текстовое поле textbox1.Текст = "";
Поле textbox2.Текст = "";

}



фоновый код таков

&ЛТ;%@ страницы язык="в C#" AutoEventWireup значение="истинной" отделенного кода="TrainingSessionsPage.aspx-файл.КС" наследует="EETrainingWindow.TrainingSessionsPage" %>

<!DOCTYPE html>



<title>S&P глобальная учебная программа


.авто-style1, при {
ширина: 44%;
высота: 240px;
}
.авто-стиль2 {
ширина: 172px;
бордюрный стиль: сплошной;
ширина границы: 1px;
прокладка: 1px 4px;
цвет фона: #FF99FF;
}
.авто-стиль3 {
бордюрный стиль: сплошной;
ширина границы: 1px;
прокладка: 1px 4px;
цвет фона: #FF99FF;
}
.авто-стиль4 {
бордюрный стиль: сплошной;
ширина границы: 1px;
прокладка: 1px 4px;
}








 Загрузить обучающие видео &усилителя; отображения всех видео в таблицы



Название Видео &ЛТ;АСП:текстовое поле с ID="элемент textbox1" атрибут runat="сервер" Высота="29px" ширина="263px"&ГТ;
Название Видео &ЛТ;АСП:текстовое поле с ID="поле textbox2" атрибут runat="сервер" Высота="29px" ширина="263px"&ГТ;
загружать видео &ЛТ;как ASP:fileupload с ИД="FileUpload1" атрибут runat="сервер" высота="30 пикселей" ширина="272px" /&ГТ;
  &ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" свойства backcolor="#33CC33" шрифт-размер="средний" цвет="белый" функция onclick="обработчика button1_click" текст="сохранить видео" ширина="115px" /&ГТ;




&ЛТ;АСП:метка идентификатор="Метка1" атрибут runat="сервер"и GT;

&ЛТ;АСП:гиперссылку с ID="HyperLink1" атрибут runat="сервер" navigateurl свойство="~/файл webform1.аспн"&ГТ;смотреть все видео

Richard Deeming

"Insert into EETube(Name,Videotitle,Videolink) Values('"+ TextBox1.Text +"','" + TextBox2.Text + "','" + link + "')"

Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]

Prateek gsharma

я знал это, сэр....это пример кода, сэр ... я всегда использую только параметризованные запросы.

просто я хочу знать, почему я получаю выше ошибки.

Richard Deeming

Никогда не используйте конкатенацию строк - даже для примера кода.

1 Ответов

Рейтинг:
0

Gerry Schmitz

Цитата:
Строки constring = "поставщика=Майкрософт.Туз.Oledb для.12.0;Источник данных=Ф:\видеоданные.# то # ";


Я думал, что все "типичные" имена файлов access db заканчиваются на ".mdb".


Richard Deeming

accdb был представлен в Access 2007.

Какой формат файла доступа я должен использовать?[^]

Gerry Schmitz

Вы правы, мне нужно обновить свой доступ.

Prateek gsharma

как обновить мой доступ

Prateek gsharma

Вы хотите сказать ... я должен изменить имя файла как videodata.mdb.

но имя базы данных access по умолчанию заканчивается на accdb, верно?

Gerry Schmitz

Нет... Я имел в виду, что вы должны убедиться, что ваше "имя файла" правильно.

Вы должны быть в состоянии проверить "имя файла" (т. е. "соединение") в 32/64-битном ODBC admin В Панели управления для драйверов и источников данных.