Yol adı (Transact-SQL)
FILESTREAM ikili büyük nesne (blob) yol döndürür.OpenSqlFilestreamAPI uygulama Win32 API'lerini kullanarak blob verilerle çalışmak için kullanabileceğiniz bir işleyiciyi döndürmek için bu yol kullanır. Yol adı salt okunur durumdadır.
Sözdizimi
column_name.PathName (@option)
Bağımsız değişkenler
column_name
sütun adı bir varbinary(max) FILESTREAM sütun.column_namebir sütun adı olmalıdır.Bu bir ifade veya bir cast veya convert deyimsonucu olamaz.Bir sütun için ya da başka herhangi bir veri türünün yol isteyen bir varbinary(max) sütun, yok FILESTREAM depolama öznitelik neden bir sorgu derleme -saat hatası.
@option
Bir tamsayı ifade yol sunucu bileşeni nasıl biçimlendirilmesi gerektiğini tanımlar.@optionAşağıdaki değerlerden biri olabilir.Varsayılan değer 0'dir.Değer
Açıklama
0
sunucu adı için BIOS dönüştürülen döndürür, örneğin Biçimlendir: \\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9
1
Örneğin dönüştürmesi olmadan sunucu adı döndürür: \\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1
2
Örneğin tam sunucu yoldöndürür: \\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9
Dönüş Türü
nvarchar(max)
Dönüş Değeri
Döndürülen değerdir tam mantıksal veya NetBIOS yol DAMLA.Yol adı bir IP adresi döndürmez.FILESTREAM DAMLA değil oluşturduğunuzda null değeri döndürülür.
Açıklamalar
ROWGUID sütun yoladı çağıran herhangi bir sorgu içinde görünür olması gerekir.
FILESTREAM blob kullanarak yalnızca oluşturulabilir Transact-SQL.
Örnekler
A.yol için FILESTREAM blob okuma
Aşağıdaki örnek atar PathName için bir nvarchar(max) değişkeni.
DECLARE @PathName nvarchar(max)
SET @PathName = (
SELECT TOP 1 photo.PathName()
FROM dbo.Customer
WHERE LastName = 'CustomerName'
);
B.tabloiçin FILESTREAM BLOB'lar yolları görüntüleme
Aşağıdaki örnek oluşturur ve için üç FILESTREAM BLOB'lar yolları görüntüler.
-- Create a FILESTREAM-enabled database.
-- The c:\data directory must exist.
CREATE DATABASE PathNameDB
ON
PRIMARY ( NAME = ArchX1,
FILENAME = 'c:\data\archdatP1.mdf'),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = ArchX3,
FILENAME = 'c:\data\filestreamP1')
LOG ON ( NAME = ArchlogX1,
FILENAME = 'c:\data\archlogP1.ldf');
GO
USE PathNameDB;
GO
-- Create a table, add some records, and
-- create the associated FILESTREAM
-- BLOB files.
CREATE TABLE TABLE1
(
ID int,
RowGuidColumn UNIQUEIDENTIFIER
NOT NULL UNIQUE ROWGUIDCOL,
FILESTREAMColumn varbinary(MAX) FILESTREAM
);
GO
INSERT INTO TABLE1 VALUES(1, NEWID(), 0x00);
INSERT INTO TABLE1 VALUES(2, NEWID(), 0x00);
INSERT INTO TABLE1 VALUES(3, NEWID(), 0x00);
GO
SELECT FILESTREAMColumn.PathName() AS 'PathName' FROM TABLE1;
--Results
--PathName
------------------------------------------------------------------------------------------------------------
--\\SERVER\MSSQLSERVER\v1\PathNameExampleDB\dbo\TABLE1\FILESTREAMColumn\DD67C792-916E-4A76-8C8A-4A85DC5DB908
--\\SERVER\MSSQLSERVER\v1\PathNameExampleDB\dbo\TABLE1\FILESTREAMColumn\2907122B-2560-4CB9-86DC-FBE7ABA1843B
--\\SERVER\MSSQLSERVER\v1\PathNameExampleDB\dbo\TABLE1\FILESTREAMColumn\922BE0E0-CAB9-4403-90BF-945BD258E4BC
--
--(3 row(s) affected)
GO
--Drop the database to clean up.
USE MASTER
GO
DROP DATABASE PathNameDB
Ayrıca bkz.