Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Visszaadja egy FILESTREAM bináris nagy objektum (BLOB) útját. Az OpenSqlFilestream API ezt az útvonalat használja arra, hogy visszaadja a fogantyút, amelyet egy alkalmazás használhat a BLOB adatokkal való munkavégzésre Win32 API-k segítségével. A PathName csak olvasható.
Transact-SQL szintaxis konvenciók
Syntax
column_name.PathName ( @option [ , use_replica_computer_name ] )
Arguments
column_name
Egy varbináris (max) FILESTREAM oszlop neve.
column_name biztosan oszlopnév. Nem lehet kifejezés, sem CAST vagy CONVERT állítás eredménye.
Ha a PathName kérése bármely más adattípusú oszlophoz vagy egy varbináris (max) oszlophoz, amely nem rendelkezik a FILESTREAM storage attribútummal, lekérdezési idő hibát okoz.
@option
Egy egész szám kifejezés , amely meghatározza, hogyan kell formázni az út szerverkomponenseit.
@option lehet az alábbi értékek egyike. Az alapértelmezett érték a 0.
| Value | Description |
|---|---|
| 0 | A szerver nevét BIOS formátumra konvertálva adja vissza, például: \\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
| 1 | A szerver nevét konvertálás nélkül adja vissza, például: \\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1 |
| 2 | A teljes szerver útvonalat adja vissza, például: \\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9 |
use_replica_computer_name
Egy bitérték, amely meghatározza, hogyan kell a szerver nevet visszaadni egy Always On elérhetőségi csoportban.
Ha az adatbázis nem tartozik egy Always On-ba rendelkezésre álló csoportba, akkor ennek az érvelnek az értékét figyelmen kívül hagyják. A számítógép nevét mindig az úton használják.
Ha az adatbázis egy Always On elérhetőségi csoporthoz tartozik, akkor use_replica_computer_name értéke a PathName függvény kimenetére a következő hatással van:
| Value | Description |
|---|---|
| Nincs meghatározva. | A függvény visszaadja a virtuális hálózati nevet (VNN) az úton. |
| 0 | A függvény visszaadja a virtuális hálózati nevet (VNN) az úton. |
| 1 | A függvény visszaadja az út számítógép nevét. |
Visszatérési típus
nvarchar(max)
Visszaadott érték
A visszaadott érték a BLOB teljesen minősített logikai vagy NETBIOS útja. A PathName nem ad vissza IP-címet. A NULL akkor jelenik meg, amikor a FILESTREAM BLOB nem jött létre.
Remarks
A ROWGUID oszlopnak láthatónak kell lennie bármely olyan lekérdezésben, amely a PathName hívja.
Fájlfolyam blob csak a Transact-SQL használatával hozható létre.
Examples
A. A FILESTREAM BLOB útvonalának olvasása
Az alábbi példa egy változóhoz rendeli a .PathNamenvarchar(max)
DECLARE @PathName nvarchar(max);
SET @PathName = (
SELECT TOP 1 photo.PathName()
FROM dbo.Customer
WHERE LastName = 'CustomerName'
);
B. A FILESTREAM BLOBok útvonalainak megjelenítése táblázatban
Az alábbi példa három FILESTREAM BLOB útvonalait hozza létre és mutatja be.
-- 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;