Yol adı (Transact-sql)
Bir FILESTREAM ikili büyük nesne (blob) yolunu döndürür. OpenSqlFilestreamAPI'si kullanan bu yolu uygulama Win32 API'lerini kullanarak blob verilerle çalışmak için kullanabileceğiniz bir tanıtıcı dönmek. Yol adı salt okunur.
Transact-SQL Sözdizim Kuralları
Sözdizimi
column_name.PathName ( @option [ , use_replica_computer_name ] )
Bağımsız değişkenler
column_name
Sütun adı bir varbinary(max)FILESTREAM sütun. column_namebir sütun adı olmalıdır. Bir ifade ya da bir cast veya convert ifadesi sonucu olamaz.Bir sütun için veya başka herhangi bir veri türü için yol isteyen bir varbinary(max)sütun , bir sorgu derleme zamanı hatasına neden FILESTREAM depolama özniteliği iradesi yok.
@option
Bir tamsayı ifade yolunu sunucu bileşeni nasıl biçimlendirileceğini tanımlar. @optionAşağıdaki değerlerden biri olabilir. Varsayılan değer 0'dır.Değer
Açıklama
0
Sunucu adı için BIOS dönüştürülen döndürür, örneğin Biçimlendir:\\SERVERNAME\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9
1
Örneğin dönüştürmesi olmadan sunucu adını döndürür:\\ServerName\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F1
2
Örneğin tam sunucu yolu döndürür:\\ServerName.MyDomain.com\MSSQLSERVER\v1\Archive\dbo\Records\Chart\A73F19F7-38EA-4AB0-BB89-E6C545DBD3F9
use_replica_computer_name
Sunucu adı bir AlwaysOn kullanılabilirlik grubunda nasıl döndürülmelidir tanımlayan bir bit değer.Ne zaman veritabanı bir AlwaysOn kullanılabilirlik grubuna ait değil, bu bağımsız değişkenin değeri yoksayılır. Bilgisayar adı, yolu her zaman kullanılır.
Veritabanı bir AlwaysOn kullanılabilirliğini ait olduğunda Grup, sonra değeri use_replica_computer_nameçıktı aşağıdaki etkisi PathNamefonksiyonu:
Değer
Açıklama
Belirtilmemiş.
İşlev, yolu için sanal ağ adı (vnn) verir.
0
İşlev, yolu için sanal ağ adı (vnn) verir.
1
İşlev, yolunda için bilgisayarın adını döndürür.
Dönüş Türü
nvarchar(max)
Dönüş Değeri
Döndürülen değeri tam olan mantıksal veya blob NetBIOS yolu. Yol adı, IP adresi döndürmez. FILESTREAM blob değil yaratıldığında, null döndürülür.
Açıklamalar
ROWGUID Sütunu yoladı çağıran herhangi bir sorgu görünür olması gerekir.
FILESTREAM blob kullanarak yalnızca oluşturulabilir Transact-SQL.
Örnekler
A.Yol için FILESTREAM blob okuma
Aşağıdaki örnek atar PathNameiçin bir nvarchar(max)değişkeni.
DECLARE @PathName nvarchar(max)
SET @PathName = (
SELECT TOP 1 photo.PathName()
FROM dbo.Customer
WHERE LastName = 'CustomerName'
);
B.Yollar için FILESTREAM BLOB'ları bir tabloda görüntülenmesi
Aşağıdaki örnek oluşturur ve için üç FILESTREAM BLOB'lar yolları görüntüler.
-- 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);
INSERT INTO TABLE1 VALUES(2, NEWID(), 0x00);
INSERT INTO TABLE1 VALUES(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
Ayrıca bkz.
Başvuru
GET_FILESTREAM_TRANSACTION_CONTEXT (Transact-sql)
Erişim FILESTREAM veri ile OpenSqlFilestream