View' leri sorgulama
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=1118
Tarih: 23 Kasım 2024 Saat 05:16 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: View' leri sorgulama
Mesajı Yazan: zooland
Konu: View' leri sorgulama
Mesaj Tarihi: 16 Eylül 2008 Saat 15:54
Merhaba sql' den veri tabani içindeki standart view' leri sorguladigimda sonuçlar gelmiyor. Örnegin FATANA view' ini sql' den "SELECT * FROM FATANA" ile sorguladigimda sadece basliklar geliyor ancak içerigi getirmiyor.
Programin içinden, rapordan serbest rapor olusturunca bu dosyanin içerigini getiriyor.
View lere sql sorgu gönderemiyor muyuz? Gönderebiliyorsak tablolari sorgulamadan farkli olarak ne yapmaliyim?
Tesekkürler...
|
Cevaplar:
Mesajı Yazan: Conari
Mesaj Tarihi: 17 Eylül 2008 Saat 08:09
Bir Session olusturmalisiniz bunun için, Kod asagida .
exec nsp_netsesguncelle 2, 'ys0001',1,0,'e','h','2',-1,'H',0,0,'H'
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: zooland
Mesaj Tarihi: 19 Eylül 2008 Saat 11:07
Çok tesekkürler, verdiginiz kodu sorgunun basina ekledim, simdi çalisiyor.
Bu kod tam olarak ne yapiyor? Bu konuda ayrintili bilgi bulabilecegim internette bir kaynak var mi?
|
Mesajı Yazan: AyGuMuS
Mesaj Tarihi: 19 Eylül 2008 Saat 12:32
NETSIS bir database bagli tablolari ayni isimdeki viewlerle NETSIS Database altindaki NETSESSION tablosuna baglar. NETSIS Program açilinca NETSESSION tablosuna Proses ID (O an Netsise dolayisi ile SQL'e login olan kullanicinin SQL'in verdigi Random Kod) - Isletme Kodu - Sube Kodu... gibi isletme Holding Mantigi ve güvenlik uyglamalarinin bulundugu bir satir ekler... Bu satir yardimiyla kullandigin Viewlwede Login oldugun PID - Isletme - Subeye uygun kayitlar gelecektir. @Conari exec nsp_netsesguncelle 2, 'ys0001',1,0,'e','h','2',-1,'H',0,0,'H' Proceduru ile sanki NETSIS çalisiyormus gibi SQL de açilan oturumuna ait olan PID ve isletme Sube kaydi açip Viewlerin çalismasini saglamis... Ama isletme ve Sube kodun çoksa duruma göre Parametreleri degistirmen gerekir...
------------- SA
|
Mesajı Yazan: zooland
Mesaj Tarihi: 22 Eylül 2008 Saat 14:56
Tesekkürler. Yalniz simdi baska bir sorum daha var, yukarida bahsettigim sorguyu bir web sayfasi içinden çalistiriyorum ve gelen sonuçlarda türkçe karakterler hatali geliyor. Forum içinde aradim ama bununla ilgili bir çözüm bulamadim. Bu sorunu nasil çözebilirim?
|
Mesajı Yazan: Conari
Mesaj Tarihi: 22 Eylül 2008 Saat 16:32
vt Ye ne sekilde baglaniyorsunuz.
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: zooland
Mesaj Tarihi: 24 Eylül 2008 Saat 10:49
Bahsettigim web sayfasini FrontPage2000 içindeki database baglanti sihirbazi ile yaptim. Bu islem otomatik olarak global.asa adinda bir dosya olusturuyor ve içinde yine otomatik hazirladigi bir VBScript ile veri tabanina baglaniyor.
global.asa' nin içerigi söyle:
<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart '==FrontPage Generated - startspan== Dim FrontPage_UrlVars(2) '--Project Data Connection Application("OFIS2008_ConnectionString") = "DRIVER={SQL Server};SERVER=ofis-server;DATABASE=OFIS2008;UID=SA" Application("OFIS2008_ConnectionTimeout") = 15 Application("OFIS2008_CommandTimeout") = 30 Application("OFIS2008_CursorLocation") = 3 Application("OFIS2008_RuntimeUserName") = "SA" Application("OFIS2008_RuntimePassword") = "" '--Project Data Connection Application("OFIS2007_ConnectionString") = "DRIVER={SQL Server};SERVER=OFIS-SERVER;DATABASE=OFIS2007;UID=SA" Application("OFIS2007_ConnectionTimeout") = 15 Application("OFIS2007_CommandTimeout") = 30 Application("OFIS2007_CursorLocation") = 3 Application("OFIS2007_RuntimeUserName") = "SA" Application("OFIS2007_RuntimePassword") = "" '-- Application("FrontPage_UrlVars") = FrontPage_UrlVars '==FrontPage Generated - endspan== End Sub Sub Session_OnStart FrontPage_StartSession '==FrontPage Generated== End Sub Sub FrontPage_StartSession On Error Resume Next if Len(Application("FrontPage_VRoot")) > 0 then Exit Sub ' discover the VRoot for the current page; ' walk back up VPath until we find global.asa Vroot = Request.ServerVariables("PATH_INFO") strG1 = "global.asa" strG2 = "Global.asa" iCount = 0 do while Len(Vroot) > 1 idx = InStrRev(Vroot, "/") if idx > 0 then Vroot = Left(Vroot,idx) else ' error; assume root web Vroot = "/" end if if FrontPage_FileExists(Server.MapPath(Vroot & strG1)) then exit do if FrontPage_FileExists(Server.MapPath(Vroot & strG2)) then exit do if Right(Vroot,1) = "/" then Vroot = Left(Vroot,Len(Vroot)-1) iCount = iCount + 1 if iCount > 100 then ' error; assume root web Vroot = "/" exit do end if loop ' map all URL= attributes in _ConnectionString variables Application.Lock if Len(Application("FrontPage_VRoot")) = 0 then Application("FrontPage_VRoot") = Vroot UrlVarArray = Application("FrontPage_UrlVars") for i = 0 to UBound(UrlVarArray) if Len(UrlVarArray(i)) > 0 then FrontPage_MapUrl(UrlVarArray(i)) next end if Application.Unlock End Sub Sub FrontPage_MapUrl(AppVarName) ' convert URL attribute in conn string to absolute file location strVal = Application(AppVarName) strKey = "URL=" idxStart = InStr(strVal, strKey) If idxStart = 0 Then Exit Sub strBefore = Left(strVal, idxStart - 1) idxStart = idxStart + Len(strKey) idxEnd = InStr(idxStart, strVal, ";") If idxEnd = 0 Then strAfter = "" strURL = Mid(strVal, idxStart) Else strAfter = ";" & Mid(strVal, idxEnd + 1) strURL = Mid(strVal, idxStart, idxEnd - idxStart) End If strOut = strBefore & Server.MapPath(Application("FrontPage_VRoot") & strURL) & strAfter Application(AppVarName) = strOut End Sub Function FrontPage_FileExists(fspath) On Error Resume Next FrontPage_FileExists = False set fs = CreateObject("Scripting.FileSystemObject") Err.Clear set istream = fs.OpenTextFile(fspath) if Err.Number = 0 then FrontPage_FileExists = True istream.Close end if set istream = Nothing set fs = Nothing End Function </SCRIPT>
|
Mesajı Yazan: Conari
Mesaj Tarihi: 24 Eylül 2008 Saat 11:26
Mükerrer oldu..
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: Conari
Mesaj Tarihi: 24 Eylül 2008 Saat 11:26
iki tarafa da söle bir sey ekleyip deneyin.
Emin degilim Borlandda bu sekilde yapinca düzeliyor. Application("OFIS2008_AutoTranslate") =False
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: zooland
Mesaj Tarihi: 24 Eylül 2008 Saat 11:33
Hizli yanit için tesekkürler... Gönderdiginiz sekilde denedim ancak maalasef hiçbir degisiklik olmadi. Türkçe karakterler bozuk çikmaya devam ediyor. Denemem gereken baska birseyler var mi?
|
Mesajı Yazan: Conari
Mesaj Tarihi: 25 Eylül 2008 Saat 08:52
Bir yorum getiremiyorum maalesef.
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: AyGuMuS
Mesaj Tarihi: 25 Eylül 2008 Saat 09:14
Bununla alakali olarak @conarinin de dedigi gibi Delphide Connection Stringe AutoTranslate =False property'sini ekleyince karakter problemi olmuyor... Ancak bende NDI dan Excele aktarimlarimda ve Crystal report Uygulamalarimda Türkçe karakter problemi yasiyorum... Bunun için NETSIS TRK fonksiyonunu revize edip TRKK isimli bir fonksiyon yazdim bu fonksiyonla problemimi SQL tarafinda sorgu asamasinda çözdüm...
------------- SA
|
Mesajı Yazan: AyGuMuS
Mesaj Tarihi: 25 Eylül 2008 Saat 09:15
ALTER FUNCTION [dbo].[TRKK](@A NVARCHAR(4000)) RETURNS NVARCHAR(4000) AS BEGIN DECLARE @TMP NVARCHAR(4000) SET @TMP = REPLACE(@A COLLATE LATIN1_GENERAL_BIN, CHAR(208), N'G') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(220), N'Ü') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(222), N'S') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(221), N'I') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(214), N'Ö') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(199), N'Ç') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(73), N'I') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(240), N'g') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(252), N'ü') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(254), N's') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(105), N'i') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(246), N'ö') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(231), N'ç') SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(253), N'i') RETURN @TMP END
------------- SA
|
Mesajı Yazan: AyGuMuS
Mesaj Tarihi: 25 Eylül 2008 Saat 09:17
Muhtemelen ALTER yerine CREATE yazman gerekecektir. Kullanimi .. : Select DBO.TRKK(STOK_ADI) From TBLSTSABIT
Eger VB tarafinda çözüm yolunu bulursan paylasmaniz ümidiyle...
------------- SA
|
Mesajı Yazan: zooland
Mesaj Tarihi: 25 Eylül 2008 Saat 16:38
Bahsettiginiz çözüm sorunumu halletti. Her ikinize de yardimlariniz için tesekkürler.
|
|