Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Returnerar vägen för ett FILESTREAM binärt stort objekt (BLOB). OpenSqlFilestream API använder denna väg för att returnera ett handtag som en applikation kan använda för att arbeta med BLOB-data genom att använda Win32-API:er. PathName är skrivskyddat.
Transact-SQL syntaxkonventioner
Syntax
column_name.PathName ( @option [ , use_replica_computer_name ] )
Arguments
column_name
Är kolumnnamnet på en varbinär(max) FILESTREAM-kolumn.
column_name måste vara ett kolumnnamn. Det kan inte vara ett uttryck eller resultatet av ett CAST- eller CONVERT-sats.
Att begära PathName för en kolumn av någon annan datatyp eller för en varbinär(max) -kolumn som inte har FILESTREAM lagringsattributet orsakar ett felsteg vid kompilering av fråge.
@option
Ett heltalsuttryck som definierar hur serverkomponenten i vägen ska formateras.
@option kan vara ett av följande värden. Standardvärdet är 0.
| Value | Description |
|---|---|
| 0 | Returnerar servernamnet konverterat till BIOS-format, till exempel: \\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
| 1 | Returnerar servernamnet utan konvertering, till exempel: \\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1 |
| 2 | Returnerar hela servervägen, till exempel: \\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
use_replica_computer_name
Ett bitvärde som definierar hur servernamnet ska returneras i en Always On-tillgänglighetsgrupp.
När databasen inte tillhör en Always On-tillgänglighetsgrupp ignoreras värdet av detta argument. Datorns namn används alltid i vägen.
När databasen tillhör en Always On-tillgänglighetsgrupp har värdet av use_replica_computer_name följande effekt på utdatan av PathName-funktionen :
| Value | Description |
|---|---|
| Ej specificerat. | Funktionen returnerar det virtuella nätverksnamnet (VNN) i sökvägen. |
| 0 | Funktionen returnerar det virtuella nätverksnamnet (VNN) i sökvägen. |
| 1 | Funktionen returnerar datorns namn i sökvägen. |
Returtyp
nvarchar(max)
Returvärde
Det returnerade värdet är den fullt kvalificerade logiska eller NETBIOS-banan för BLOB:n. PathName returnerar inte en IP-adress. NULL returneras när FILESTREAM BLOB inte har skapats.
Remarks
Kolumnen ROWGUID måste vara synlig i alla frågor som anropar PathName.
En filströmsblob kan endast skapas med Transact-SQL.
Examples
A. Läser sökvägen för en FILESTREAM BLOB
Följande exempel tilldelar till PathName en nvarchar(max) variabel.
DECLARE @PathName nvarchar(max);
SET @PathName = (
SELECT TOP 1 photo.PathName()
FROM dbo.Customer
WHERE LastName = 'CustomerName'
);
B. Visning av vägar för FILESTREAM BLOBs i en tabell
Följande exempel skapar och visar vägarna för tre FILESTREAM BLOBs.
-- 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;
Relaterat innehåll
- Data om binärt stort objekt (blob) (SQL Server)
- GET_FILESTREAM_TRANSACTION_CONTEXT (Transact-SQL)
- Komma åt FILESTREAM-data med OpenSqlFilestream