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.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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