Sayfayı Yazdır | Pencereyi Kapat

Sql Server Database mail Ve Rapor Gönderme hk

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=4385
Tarih: 23 Kasım 2024 Saat 01:44
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Sql Server Database mail Ve Rapor Gönderme hk
Mesajı Yazan: mustafakoker
Konu: Sql Server Database mail Ve Rapor Gönderme hk
Mesaj Tarihi: 05 Ağustos 2016 Saat 18:18
Merhaba arkadaslar;
SQL 2008 serverin database mail özelligini kullanarak belirlemis oldugum tablodan veri çekip excel olarak gece saat 23,50 de yine belirli kisilerin mail adreslerine mail göndermek için wiev yardimi istiyorum..
 
Normalde ben bu raporu  Netsisde
Cari/Raporlar/Genel Borç-Alacak Dökümü/Tip Araligi Alici
Siralama Kod1 e göre aliyorum sonra Excel kaydedip pazarlamacilara mail gönderiyorum.
 
Benim istedigim
sql server bunu saat 23.50 de kendisi pazarlamacilara hergün Excel Formatinda mail göndersin
 
 


-------------
mustafakoker53@hotmail.com



Cevaplar:
Mesajı Yazan: rhan
Mesaj Tarihi: 05 Ağustos 2016 Saat 18:33
http://stackoverflow.com/questions/9086880/t-sql-export-to-new-excel-file


-------------
İnnova Antalya Proje Danışmanlık
Orhan ÇÖPÜROĞLU

0544 241 45 55
0242 311 45 56


Mesajı Yazan: mustafakoker
Mesaj Tarihi: 06 Ağustos 2016 Saat 12:53
merhaba
vermis oldugunuz linke baktim fakat konuya yabanci oldugum için bir sey anlayamadim..
 

Bu SQL excel ihracat için çok iyi postayla geçerli:

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926" rel="nofollow - Kullanicidan alinti madhivanan,

Disinda DTS ve Ihracat sihirbazini kullanarak, biz de Excel'e SQL Server2000 verileri aktarmak için bu sorgu kullanabilirsiniz

Tablo sütunlarinin ayni basliklarini sahip bir Excel dosyasi adli test olusturma ve bu sorgulari kullanmak

SQL Server tablosundaki mevcut EXCEL dosyasina 1 Ihracat verileri

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=D:\testing.xls;', 
    'SELECT * FROM [SheetName$]') select * from SQLServerTable

Yeni SQL Server tablosuna Excel 2 Ihracat verileri

select * 
into SQLServerTable FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=D:\testing.xls;HDR=YES', 
    'SELECT * FROM [Sheet1$]')

varolan bir SQL Server tablosuna Excel 3 Ihracat verileri (düzenlenmis)

Insert into SQLServerTable Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=D:\testing.xls;HDR=YES', 
    'SELECT * FROM [SheetName$]')

4 önceden bir EXCEL dosyasi olusturun ve içine veri vermek istediginiz istemiyorsaniz, kullanim

EXEC sp_makewebtask 
    @outputfile = 'd:\testing.xls', 
    @query = 'Select * from Database_name..SQLServerTable', 
    @colheaders =1, 
    @FixedFont=0,@lastupdated=0,@resultstitle='Testing details'

(Simdi tablo formatinda veri ile dosyayi bulabilirsiniz)

basligi (sütun adlari) dosyasini yeni EXCEL ihracat verileri için 5, asagidaki yordami olusturmak

create procedure proc_generate_excel_with_columns
(
    @db_name    varchar(100),
    @table_name varchar(100),   
    @file_name  varchar(100)
)
as

--Generate column names as a recordset
declare @columns varchar(8000), @sql varchar(8000), @data_file varchar(100)
select 
    @columns=coalesce(@columns+',','')+column_name+' as '+column_name 
from 
    information_schema.columns
where 
    table_name=@table_name
select @columns=''''''+replace(replace(@columns,' as ',''''' as '),',',',''''')

--Create a dummy file to have actual data
select @data_file=substring(@file_name,1,len(@file_name)-charindex('\',reverse(@file_name)))+'\data_file.xls'

--Generate column names in the passed EXCEL file
set @sql='exec master..xp_cmdshell ''bcp " select * from (select '+@columns+') as t" queryout "'+@file_name+'" -c'''
exec(@sql)

--Generate data in the dummy file
set @sql='exec master..xp_cmdshell ''bcp "select * from '+@db_name+'..'+@table_name+'" queryout "'+@data_file+'" -c'''
exec(@sql)

--Copy dummy file to passed EXCEL file
set @sql= 'exec master..xp_cmdshell ''type '+@data_file+' >> "'+@file_name+'"'''
exec(@sql)

--Delete dummy file 
set @sql= 'exec master..xp_cmdshell ''del '+@data_file+''''
exec(@sql)

prosedürü olusturduktan sonra, veritabani adi, tablo adi ve dosya yolu saglayarak çalistirmak:

EXEC proc_generate_excel_with_columns 'your dbname', 'your table name','your file path'

Onun 29 sayfalari ama digerleri sadece bunu yapmak için nasil bu gibi sorular sorarak çesitli baska yollar yani sira insanlara göstermek için oldugunu Whomping.

Bu konuyu tamamen izleyin ve insanlar istediler çesitli sorular bakmak ve nasil çözülür. Ben bilginin sadece kaymagini biraz aldi ve beklenen sonuçlari almak için o kisimlarini kullandik.

tek hücre güncellemek için

Bir üye de orada Peter Larson asagidaki nakleder: Ben bir sey burada eksik oldugunu düsünüyorum.Excel dosyalari Ihracat ve Ithalat edebilmek için harika, ama nasil tek hücre güncellemeyle ilgili? Ya da hücre araligi?

Bu o yönetmek nasil ilkesi

update OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=c:\test.xls;hdr=no', 
'SELECT * FROM [Sheet1$b7:b7]') set f1 = -99

Ayrica bu kullanarak Excel formülleri ekleyebilirsiniz:

update OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=c:\test.xls;hdr=no', 
'SELECT * FROM [Sheet1$b7:b7]') set f1 = '=a7+c7'

T-SQL kullanarak sütun adlari ile Ihracat

Üye Mladen Prajdic de bunu nasil bir blog girisi vardir  http://weblogs.sqlteam.com/mladenp/archive/2006/07/25/10771.aspx" rel="nofollow - Kaynaklar:  http://www.sqlteam.com/" rel="nofollow -  (btw bu SQL Server daha almak isteyen herkes için mükemmel bir blog / forum). Hata referans için ben kullanilan  http://blog.sqlauthority.com/2010/11/03/sql-server-fix-error-ms-jet-oledb-4-0-cannot-be-used-for-distributed-queries-because-the-provider-is-used-to-run-in-apartment-mode/" rel="nofollow - olusabilecek hatalar

asagidaki hatayi alirsaniz:

OLE DB Saglayicisi 'Microsoft.Jet.OLEDB.4.0' dagitilmis sorgular için kullanilamaz

O zaman bu çalistirin:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO



-------------
mustafakoker53@hotmail.com


Mesajı Yazan: Conari
Mesaj Tarihi: 09 Ağustos 2016 Saat 09:19
http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/" rel="nofollow - http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/
Sonra joba baglayin

-------------
Netsisden vazgeçemiyorum. Beni engelliyor..



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net