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