#sql
#sql
Вопрос:
Вероятно, довольно простой вопрос, но я просмотрел Google, а также здесь, и не могу найти отличный ответ.
Я разрабатываю систему баз данных для отслеживания некоторой даты, включая выбор довольно больших файлов данных. Я понимаю, что обычно не считается хорошей идеей включать эти файлы данных в саму базу данных, но ссылаться на них каким-либо образом. Вопрос в том, как.
Имея в виду, что я сейчас только в проектной части проекта, и я очень новичок в этом. Я разрабатываю его на основе SQL, который я никогда раньше не использовал.
Комментарии:
1. сохраните URL или реальный путь к файлу, чем открывать и читать в программе
2. Каким типом данных должен быть путь к файлу? Символ? Я только спрашиваю, поскольку это потенциально может быть довольно длинным. Есть ли определенный тип?
3. только varchar (sizeOfUrl) Windows ограничивает один путь до 260 символов.
Ответ №1:
В этом сценарии самый простой способ сделать это — сохранить URL или абсолютный путь к файлу в базе данных. Это позволит вам получить доступ к файлам, получив этот путь с помощью запроса.
Однако я думаю, что лучшим способом сделать это было бы указать несколько относительный путь в базе данных, а затем «заполнить остальное» программой, которая открывает файл. Это упрощает тестирование на вашем локальном компьютере и последующее изменение.
Например,
У вас может быть столбец FILE_PATH в базе данных с такими путями, как «files/images/XXXX.jpg » а затем используйте переменную типа DATA_FILE_PATH в программе со значением «C://program_data /». Затем вы бы объединили эти строки в «C://program_data/files/images/XXXX.jpg » который будет полным путем к файлу.
Это позволило бы вам изменить путь на сервере без необходимости выполнять операции с базой данных, если вам по какой-либо причине необходимо переместить файлы. Однако, как вы это сделаете, зависит от вас!
Удачи.
Ответ №2:
вы должны хранить имена файлов с использованием поля и nvarchar() достаточной длины в некоторой таблице. Следующий шаг — определить, как вы должны затем передавать файлы в какое-либо другое приложение.