PathName (Transact-SQL)

Berlaku untuk:SQL Server

Mengembalikan jalur objek besar biner FILESTREAM (BLOB). OPENSqlFilestream API menggunakan jalur ini untuk mengembalikan handel yang dapat digunakan aplikasi untuk bekerja dengan data BLOB dengan menggunakan API Win32. PathName bersifat baca-saja.

Konvensi sintaks transact-SQL

Sintaks

  
column_name.PathName ( @option [ , use_replica_computer_name ] )  

Argumen

column_name
Adalah nama kolom kolom FILESTREAM varbinary(maks ). column_name harus berupa nama kolom. Ini tidak boleh berupa ekspresi atau hasil pernyataan CAST atau CONVERT.

Meminta PathName untuk kolom jenis data lain atau untuk kolom varbinary(max) yang tidak memiliki atribut penyimpanan FILESTREAM akan menyebabkan kesalahan waktu kompilasi kueri.

@option
Ekspresi bilangan bulat yang menentukan bagaimana komponen server jalur harus diformat. @option bisa menjadi salah satu nilai berikut. Defaultnya adalah 0.

Nilai Deskripsi
0 Mengembalikan nama server yang dikonversi ke format BIOS, misalnya: \\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9
1 Mengembalikan nama server tanpa konversi, misalnya: \\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1
2 Mengembalikan jalur server lengkap, misalnya: \\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9

use_replica_computer_name
Nilai bit yang menentukan bagaimana nama server harus dikembalikan dalam grup ketersediaan AlwaysOn.

Ketika database bukan milik grup ketersediaan AlwaysOn, maka nilai argumen ini diabaikan. Nama komputer selalu digunakan di jalur.

Saat database termasuk dalam grup ketersediaan AlwaysOn, maka nilai use_replica_computer_name memiliki efek berikut pada output fungsi PathName :

Nilai Deskripsi
Tidak ditentukan. Fungsi mengembalikan nama jaringan virtual (VNN) di jalur .
0 Fungsi mengembalikan nama jaringan virtual (VNN) di jalur .
1 Fungsi mengembalikan nama komputer di jalur.

Jenis Hasil

nvarchar(maks)

Tampilkan Nilai

Nilai yang dikembalikan adalah jalur logis atau NETBIOS blob yang sepenuhnya memenuhi syarat. PathName tidak mengembalikan alamat IP. NULL dikembalikan ketika FILESTREAM BLOB belum dibuat.

Keterangan

Kolom ROWGUID harus terlihat dalam kueri apa pun yang memanggil PathName.

BLOB FILESTREAM hanya dapat dibuat dengan menggunakan Transact-SQL.

Contoh

J. Membaca jalur untuk BLOB FILESTREAM

Contoh berikut menetapkan PathName ke nvarchar(max) variabel.

DECLARE @PathName nvarchar(max);  
SET @PathName = (  
    SELECT TOP 1 photo.PathName()  
    FROM dbo.Customer  
    WHERE LastName = 'CustomerName'  
    );  

B. Menampilkan jalur untuk BLOB FILESTREAM dalam tabel

Contoh berikut membuat dan menampilkan jalur untuk tiga BLOB FILESTREAM.

-- 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;  

Lihat Juga

Data Objek Besar Biner (Blob) (SQL Server)
GET_FILESTREAM_TRANSACTION_CONTEXT (T-SQL)
Mengakses Data FILESTREAM dengan OpenSqlFilestream