Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Periksa apakah ada file atau tidak di sql server?

Buat fungsi seperti ini:

CREATE FUNCTION dbo.fn_FileExists(@path varchar(512))
RETURNS BIT
AS
BEGIN
     DECLARE @result INT
     EXEC master.dbo.xp_fileexist @path, @result OUTPUT
     RETURN cast(@result as bit)
END;
GO

Edit tabel Anda dan tambahkan kolom yang dihitung (IsExists BIT). Setel ekspresi ke:

dbo.fn_FileExists(filepath)

Kemudian pilih saja:

SELECT * FROM dbo.MyTable where IsExists = 1

Pembaruan :

Untuk menggunakan fungsi di luar kolom yang dihitung:

select id, filename, dbo.fn_FileExists(filename) as IsExists
from dbo.MyTable

Pembaruan :

Jika fungsi mengembalikan 0 untuk file yang dikenal, kemungkinan ada masalah izin. Pastikan akun SQL Server memiliki izin yang memadai untuk mengakses folder dan file. Hanya baca saja sudah cukup.

Dan YA, secara default, akun 'LAYANAN JARINGAN' tidak akan memiliki hak yang cukup untuk sebagian besar folder. Klik kanan pada folder yang dimaksud dan pilih 'Properties', lalu klik tab 'Security'. Klik 'Edit' dan tambahkan 'Layanan Jaringan'. Klik 'Terapkan' dan uji ulang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri yang Mengembalikan Daftar Hierarki Jenis Peristiwa Pemicu di SQL Server

  2. Nama file SQL Server vs versi

  3. Fungsi vs Prosedur Tersimpan

  4. Kolom tanggal di SQL-Server (MSSQL-JDBC 3.0) berjalan di bawah Java 1.7.0 diambil sebagai 2 hari di masa lalu

  5. Apa string koneksi sql yang perlu saya gunakan untuk mengakses localhost\SQLEXPRESS dengan Otentikasi Windows atau Otentikasi SQL?