Как ссылаться на внешний файл в sql?

#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() достаточной длины в некоторой таблице. Следующий шаг — определить, как вы должны затем передавать файлы в какое-либо другое приложение.