Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Zwraca ścieżkę binarnego dużego obiektu FILESTREAM (BLOB). API OpenSqlFilestream wykorzystuje tę ścieżkę do zwracania uchwytu, którego aplikacja może użyć do pracy z danymi BLOB za pomocą API Win32. PathName jest dostępny tylko do odczytu.
Transact-SQL konwencje składni
Syntax
column_name.PathName ( @option [ , use_replica_computer_name ] )
Arguments
column_name
To nazwa kolumny varbinary(max) kolumny FILESTREAM.
column_name musi być nazwa kolumny. Nie może być wyrażeniem ani wynikiem polecenia CAST ani CONVERT.
Żądanie PathName dla kolumny innego typu danych lub dla kolumny varbinary(max), która nie posiada atrybutu pamięci FILESTREAM, spowoduje błąd w czasie kompilacji zapytania.
@option
Wyrażenie całkowitoliczbowe, które definiuje, jak powinien być sformatowany komponent serwera ścieżki.
@option może być jedną z następujących wartości. Wartość domyślna to 0.
| Wartość | Description |
|---|---|
| 0 | Zwraca nazwę serwera przekonwertowaną na format BIOS, na przykład: \\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
| 1 | Zwraca nazwę serwera bez konwersji, na przykład: \\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1 |
| 2 | Zwraca pełną ścieżkę serwera, na przykład: \\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
use_replica_computer_name
Wartość bitowa określająca, jak nazwa serwera powinna być zwracana w grupie dostępności Always On.
Gdy baza danych nie należy do grupy dostępności Always On, wartość tego argumentu jest ignorowana. Nazwa komputera jest zawsze używana w ścieżce.
Gdy baza danych należy do grupy dostępności Always On, wartość use_replica_computer_name ma następujący wpływ na wyjście funkcji PathName :
| Wartość | Description |
|---|---|
| Nie określono. | Funkcja zwraca nazwę sieci wirtualnej (VNN) w ścieżce. |
| 0 | Funkcja zwraca nazwę sieci wirtualnej (VNN) w ścieżce. |
| 1 | Funkcja zwraca nazwę komputera w ścieżce. |
Zwracany typ
nvarchar(max)
Wartość zwracana
Zwracana wartość to w pełni kwalifikowana ścieżka logiczna, czyli NETBIOS BLOB. PathName nie zwraca adresu IP. NULL jest zwracany, gdy FILESTREAM BLOB nie został utworzony.
Remarks
Kolumna ROWGUID musi być widoczna w każdym zapytaniu wywołującym PathName.
PLIKOWY BLOB PLIKOWY może być utworzony wyłącznie za pomocą Transact-SQL.
Examples
A. Odczyt ścieżki dla FILESTREAM BLOB
Poniższy przykład przypisuje zmiennej PathNamenvarchar(max) .
DECLARE @PathName nvarchar(max);
SET @PathName = (
SELECT TOP 1 photo.PathName()
FROM dbo.Customer
WHERE LastName = 'CustomerName'
);
B. Wyświetlanie ścieżek dla BLOB-ów FILESTREAM w tabeli
Poniższy przykład tworzy i wyświetla ścieżki dla trzech FILESTREAM BLOB-ów.
-- 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;