Aracılığıyla paylaş


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.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

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