Aracılığıyla paylaş


Yol adı (Transact-sql)

Bir FILESTREAM ikili büyük nesne (blob) yolunu döndürür. OpenSqlFilestreamAPI'si kullanan bu yolu uygulama Win32 API'lerini kullanarak blob verilerle çalışmak için kullanabileceğiniz bir tanıtıcı dönmek. Yol adı salt okunur.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

column_name.PathName ( @option [ , use_replica_computer_name ] )

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. Bir ifade ya da bir cast veya convert ifadesi sonucu olamaz.

    Bir sütun için veya başka herhangi bir veri türü için yol isteyen bir varbinary(max)sütun , bir sorgu derleme zamanı hatasına neden FILESTREAM depolama özniteliği iradesi yok.

  • @option
    Bir tamsayı ifade yolunu sunucu bileşeni nasıl biçimlendirileceğini tanımlar. @optionAşağıdaki değerlerden biri olabilir. Varsayılan değer 0'dır.

    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ını döndürür:\\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1

    2

    Örneğin tam sunucu yolu döndürür:\\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9

  • use_replica_computer_name
    Sunucu adı bir AlwaysOn kullanılabilirlik grubunda nasıl döndürülmelidir tanımlayan bir bit değer.

    Ne zaman veritabanı bir AlwaysOn kullanılabilirlik grubuna ait değil, bu bağımsız değişkenin değeri yoksayılır. Bilgisayar adı, yolu her zaman kullanılır.

    Veritabanı bir AlwaysOn kullanılabilirliğini ait olduğunda Grup, sonra değeri use_replica_computer_nameçıktı aşağıdaki etkisi PathNamefonksiyonu:

    Değer

    Açıklama

    Belirtilmemiş.

    İşlev, yolu için sanal ağ adı (vnn) verir.

    0

    İşlev, yolu için sanal ağ adı (vnn) verir.

    1

    İşlev, yolunda için bilgisayarın adını döndürür.

Dönüş Türü

nvarchar(max)

Dönüş Değeri

Döndürülen değeri tam olan mantıksal veya blob NetBIOS yolu. Yol adı, IP adresi döndürmez. FILESTREAM blob değil yaratıldığında, null döndürülür.

Açıklamalar

ROWGUID Sütunu yoladı çağıran herhangi bir sorgu 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 PathNameiç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.Yollar için FILESTREAM BLOB'ları bir tabloda görüntülenmesi

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.

Başvuru

GET_FILESTREAM_TRANSACTION_CONTEXT (Transact-sql)

Erişim FILESTREAM veri ile OpenSqlFilestream

Kavramlar

İkili büyük nesne (Blob) veri (SQL Server)