Erro FileStream .FilePath()

Resolvi escrever este forum rapido ao pegar um problema no forum de um outro usuario, ao pesquisar na internet não encontrei muitas referencias portanto deixo aqui a solução.
No SQL Server, na maioria dos casos os comandos não são CASE_SENSITIVE, ou seja, um “CREATE TABLE” funciona normalmente assim como um “create table” porem para toda regra há sua exceção e o PathName do FileStream é uma delas:

O erro gerado foi o seguinte:
Msg 4121, Level 16, State 1, Line 1
Cannot find either column “FS_ARQUIVO” or the user-defined function or aggregate “FS_ARQUIVO.pathname”, or the name is ambiguous.

O Script utilizado foi:

CREATE DATABASE FileStreamDB ON PRIMARY  (

 NAME = FileStreamDB_data,

    FILENAME = 'D:\Filestream\FileStreamDB_data.mdf'),

FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM

  ( NAME = FileStreamDB_FILE,

    FILENAME = 'D:\Filestream\arquivos')

LOG ON

  ( NAME = 'FileStreamDB_log',

    FILENAME = 'D:\Filestream\FileStreamDB_log.ldf');
GO
    
USE FileStreamDB;
GO
CREATE TABLE FSDESC (
IDFSDESC INT IDENTITY NOT NULL,
DESCRICAO VARCHAR(50) NOT NULL
)
GO
ALTER TABLE FSDESC ADD CONSTRAINT PK_FSDESC PRIMARY KEY (IDFSDESC)
GO

USE FileStreamDB;
GO
CREATE TABLE FSFILE (
ID_FSARQUIVO INT IDENTITY NOT NULL,
ID_DESC INT NOT NULL,
ID_GUID UNIQUEIDENTIFIER ROWGUIDCOL UNIQUE NOT NULL,
FS_ARQUIVO VARBINARY(MAX) FILESTREAM NULL
)
FILESTREAM_ON FileStreamGroup1;

ALTER TABLE FSFILE ADD CONSTRAINT PK_IDFSARQUIVO PRIMARY KEY (ID_FSARQUIVO)
GO
ALTER TABLE FSFILE ADD CONSTRAINT FK_DESC_ARQUIVO FOREIGN KEY (ID_DESC) REFERENCES FSDESC(IDFSDESC);
GO

--insere descrição
INSERT INTO FSDESC (DESCRICAO)
VALUES('IMAGEM .JPG'),('E-BOOK .PDF'),('OFFICE .DOC')
GO

--insere documento jpg, pdf, doc etc...
INSERT INTO FSFILE (ID_DESC,ID_GUID,FS_ARQUIVO)
SELECT 1,NEWID(),*
FROM OPENROWSET (BULK 'D:\FileStream\Elo_Perdido.jpg',SINGLE_BLOB) AS Document
GO
INSERT INTO FSFILE (ID_DESC,ID_GUID,FS_ARQUIVO)
SELECT 3,NEWID(),*
FROM OPENROWSET (BULK 'D:\FileStream\ArquivoWord.docx',SINGLE_BLOB) AS Document
GO

SELECT [FS_ARQUIVO].PathName()  FROM dbo.FSFILE --> Executado com sucesso
SELECT [FS_ARQUIVO].pathname()  FROM dbo.FSFILE --> Erro

Resumo:
Sem erro:

SELECT [FS_ARQUIVO].PathName()  FROM dbo.FSFILE

Com erro:

SELECT [FS_ARQUIVO].pathname()  FROM dbo.FSFILE
Anúncios
Post a comment or leave a trackback: Trackback URL.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: