Saya mengakses prosedur tersimpan pada database Microsoft SQL Server 2005 dalam excel menggunakan
Select *
from [dbo].[fn_ph_by15minbyQueue] ('2013-09-01','2013-09-30','LocationCode')
dalam koneksi data, yang berfungsi dengan baik.
Saya membutuhkan kolom tambahan, jadi saya mengubah pernyataan itu menjadi
select *,
(case right([Interval],2)
when '15' then left([interval],len([Interval])-2)+'00'
when '45' then left([interval],len([Interval])-2)+'30'
else [interval]
end) as interval_30
from [dbo].[fn_ph_by15minbyQueue] ('2013-09-01','2013-09-30','LocationCode')
yang berfungsi dengan benar di dalam SQL Server, tetapi ketika saya memasukkan kode itu ke dalam Teks Perintah, Excel melaporkan:
Nama objek tidak valid 'dbo.fn_ph_by15minbyQueue'
Apa yang saya lakukan salah?
Info
koneksi: String Koneksi:
Penyedia = SQLOLEDB.1; Keamanan Terpadu = SSPI; Persist Info Keamanan = Benar; Katalog Awal = BusinessUsers; Sumber Data = qadbs4784; Prosedur Penggunaan untuk Mempersiapkan = 1; Terjemahan Otomatis = Benar; Ukuran Paket = 4096; Workstation ID = XXXX; Penggunaan Enkripsi untuk Data = Salah; Beri tag dengan susunan kolom bila memungkinkan = Salah
Jawaban:
Coba tambahkan tanda kutip tunggal di sekitar nama bidang baru, interval_30.
(case right([Interval],2) when '15' then left([interval],len([Interval])-2)+'00' when '45' then left([interval],len([Interval])-2)+'30' else [interval] end) as 'interval_30'
sumber