در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

fahimi

چگونه از کلید خارجی در جدول از نوع FileTable در SQL استفاده کنیم؟

سلام خدمت دوستان گرامی  ، با توجه به اینکه Table از نوع FileTable با فیلد ها ثابت ایجاد می شود . و اجازه تغییر آن را نیز نمی دهد چگونه می توان Table دیگری را با آن مرتبط کرد. . به فرض شما شما یک تیبل پرسنل را دارید و می خواهید چندین فایل متن و تصویر را به آن مرتبط شود لازم این کار تعریف یک کلید خارجی (Foreign Key) در Table که از نوع FileTable درر آن است می باشد در صورتیکه SqlServer چنین اجازه به شما نمی دهد

لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
fahimi

در ضمن من از روش زیر جهت ایجاد و . . . استفاده کرده ام

CREATE DATABASE FileTableDB
ON PRIMARY
(Name = FileTableDB,
FILENAME = 'H:\FileTable\FTDB.mdf'),
FILEGROUP FTFG CONTAINS FILESTREAM
(NAME = FileTableFS,
FILENAME='H:\FileTable\FS')
LOG ON
(Name = FileTableDBLog,
FILENAME = 'H:\FileTable\FTDBLog.ldf')
WITH FILESTREAM (NON_TRANSACTED_ACCESS = FULL,
DIRECTORY_NAME = N'FileTableDB');
GO
 
SELECT DB_NAME(database_id),
non_transacted_access,
non_transacted_access_desc
FROM sys.database_filestream_options;
GO
 
 
-- Create FileTable Table
USE FileTableDB
GO
CREATE TABLE FileTableTb AS FileTable
WITH
(FileTable_Directory = 'FileTableTb_Dir');
GO
 
SELECT *
FROM FileTableTb
GO
SELECT [name]
,[file_type]
,CAST([file_stream] AS VARCHAR) FileContent
,[cached_file_size]
,[creation_time]
,[last_write_time]
,[last_access_time]
FROM [dbo].[FileTableTb]
GO
 
INSERT INTO [dbo].[FileTableTb]
([name],[file_stream])
SELECT
'dbHafez.accdb', * FROM OPENROWSET(BULK N'd:\dbHafez.accdb', SINGLE_BLOB) AS FileData
GO
SELECT [name]
,[file_type]
,CAST([file_stream] AS VARCHAR) FileContent
,[cached_file_size]
,[creation_time]
,[last_write_time]
,[last_access_time]
FROM [dbo].[FileTableTb]
GO
 
USE FileTableDB
GO
SELECT [name]
,[file_type]
,CAST([file_stream] AS VARCHAR) FileContent
,[cached_file_size]
,[is_directory]
FROM [dbo].[FileTableTb]
GO
 
SELECT FileTableRootPath('FileTableTb') AS FileTableRootPath
 
SELECT GetPathLocator('\\ALFA\MSSQLSERVER\FileTableDB\Fil  eTableTb_Dir')
 
SELECT file_stream.GetFileNamespacePath()
FROM [dbo].[FileTableTb]
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....