Nazwa ścieżki (Transact-SQL)
Zwraca ścieżka FILESTREAM duży obiekt binarny (BLOB).OpenSqlFilestreamAPI używa tej ścieżka zwraca uchwyt aplikacji można użyć do pracy z danych typu BLOB za pomocą interfejsów API podsystemu Win32. Nazwa ścieżki jest tylko do odczytu.
Składnia
column_name.PathName (@option)
Argumenty
column_name
Nazwa kolumna jest varbinary(max) FILESTREAM kolumna.column_namemusi być nazwą kolumna .Nie można go wyrażenie ani wyników RZUTOWANIA lub konwersji instrukcja.Żądanie nazwy ścieżki dla kolumna dowolny inny typ danych lub dla varbinary(max) kolumnanie będzie atrybut magazynowania FILESTREAM spowodować kwerendy kompilacji -czas błąd.
@option
Całkowitą wyrażenie definiuje sposób formatowania składnika serwera ścieżka .@optionmoże to być jedna z następujących wartości.Wartość domyślna to 0.Wartość
Opis
0
Zwraca nazwa serwera konwertowany do systemu BIOS formatu, na przykład: \\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9
1
Zwraca nazwa serwera bez konwersji, na przykład: \\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1
2
Zwraca serwera pełną ścieżka, na przykład: \\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9
Zwracany typ
nvarchar(max)
Wartość zwracana
Zwrócona wartość jest w pełni kwalifikowana logicznych lub NETBIOS ścieżka obiektu BLOB.Nazwa ścieżki nie zwraca adres IP.Zostanie zwrócona wartość NULL, gdy nie został utworzony obiekt BLOB FILESTREAM.
Uwagi
kolumna ROWGUID musi być widoczny w dowolnej kwerendy, która wywołuje Nazwa_ścieżki.
Obiekt BLOB FILESTREAM można tworzyć tylko za pomocą Transact-SQL.
Przykłady
A.Odczytywanie ścieżka dla obiektu BLOB FILESTREAM
Poniższy przykład przypisuje PathName do nvarchar(max) zmienną.
DECLARE @PathName nvarchar(max)
SET @PathName = (
SELECT TOP 1 photo.PathName()
FROM dbo.Customer
WHERE LastName = 'CustomerName'
);
B.Wyświetlanie ścieżki dla bloków BLOB FILESTREAM w tabela
Poniższy przykład tworzy i wyświetla ścieżki dla trzech bloków BLOB FILESTREAM.
-- 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
Zobacz także