Sayfayı Yazdır | Pencereyi Kapat

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. Smile

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. Thumbs%20Up



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