Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vrací cestu k velkému binárnímu objektu FILESTREAM (BLOB). OpenSqlFilestream API používá tuto cestu k vrácení handle, který může aplikace použít k práci s BLOB daty pomocí Win32 API. PathName je pouze pro čtení.
Syntax
column_name.PathName ( @option [ , use_replica_computer_name ] )
Arguments
column_name
Je název sloupce varbinary(max) sloupce FILESTREAM.
column_name musí být název sloupce. Nemůže to být výraz ani výsledek příkazu CAST nebo CONVERT.
Požadavek na PathName pro sloupec jakéhokoli jiného datového typu nebo pro varbinární (max) sloupec, který nemá atribut FILESTREAM storage, způsobí chybu při kompilaci dotazu.
@option
Celočíselný výraz, který definuje, jak má být serverová složka cesty formátována.
@option může být jedna z následujících hodnot. Výchozí hodnota je 0.
| Value | Description |
|---|---|
| 0 | Vrací název serveru převedený do formátu BIOSu, například: \\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
| 1 | Vrací název serveru bez konverze, například: \\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1 |
| 2 | Vrací kompletní cestu serveru, například: \\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
use_replica_computer_name
Bitová hodnota, která určuje, jak by měl být název serveru vrácen ve skupině dostupnosti Always On.
Pokud databáze nepatří do skupiny Always On availability, hodnota tohoto argumentu je ignorována. Název počítače je vždy použit v cestě.
Pokud databáze patří do skupiny dostupnosti Always On, hodnota use_replica_computer_name má následující vliv na výstup funkce PathName :
| Value | Description |
|---|---|
| Není specifikováno. | Funkce vrací virtuální síťové jméno (VNN) v cestě. |
| 0 | Funkce vrací virtuální síťové jméno (VNN) v cestě. |
| 1 | Funkce vrací název počítače v cestě. |
Návratový typ
nvarchar(max)
Návratová hodnota
Vrácená hodnota je plně kvalifikovaná logická nebo NETBIOS cesta BLOB. PathName nevrací IP adresu. NULL se vrací, když FILESTREAM BLOB nebyl vytvořen.
Remarks
Sloupec ROWGUID musí být viditelný v každém dotazu, který volá PathName.
SOUBOROVÝ BLOB lze vytvořit pouze pomocí Transact-SQL.
Examples
A. Čtení cesty pro FILESTREAM BLOB
Následující příklad přiřazuje proměnnou .PathNamenvarchar(max)
DECLARE @PathName nvarchar(max);
SET @PathName = (
SELECT TOP 1 photo.PathName()
FROM dbo.Customer
WHERE LastName = 'CustomerName'
);
B. Zobrazení cest pro FILESTREAM BLOBy v tabulce
Následující příklad vytváří a zobrazuje cesty pro tři FILESTREAM BLOBy.
-- 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)
,(2, NEWID(), 0x00)
,(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;