• 12-03-2021, 20:36:06
    #1
    Üstadlarım herkese iyi akşamlar,

    Küçük çaplı bir php web program yaptım fakat db'de çok fazla veri olunca programın patladığını görüyorum. Çözüm için js datatable'ın server-side processing olayı ile uğraşıyorum. Bir ubuntu server'ım var üzerinde nginx ve php son sürüm kurulu. Başka bir windows sunucuda MSSQL'im var çalıştığım database'im orada. server-side meselesi ile oraya db'ye bağlanmak istiyorum fakat bir türlü olmadı. Server-side ile mssql'e bağlanmaya çalışınca hata veriyor. Normal bağlanmakta sorun yok server-side ile bağlanamıyorum. Bir fikri olan var mı yardımcı olabilir misiniz ?

    server_processing.php dosyasını direkt tarayıcıdan yazdığımda hata alıyorum ;
    {"error":"An error occurred while connecting to the database. The error reported by the server was: SQLSTATE[HY000] [2002] Connection refused"}

    Client Tarafında Bir hata örneği;
    SQLSTATE[HY000] [2002] Connection refused
  • 12-03-2021, 20:43:06
    #2
    GaziMKA adlı üyeden alıntı: mesajı görüntüle
    Üstadlarım herkese iyi akşamlar,

    Küçük çaplı bir php web program yaptım fakat db'de çok fazla veri olunca programın patladığını görüyorum. Çözüm için js datatable'ın server-side processing olayı ile uğraşıyorum. Bir ubuntu server'ım var üzerinde nginx ve php son sürüm kurulu. Başka bir windows sunucuda MSSQL'im var çalıştığım database'im orada, oraya da xampp kurdum. server-side meselesi ile oraya db'ye bağlanmak istiyorum fakat bir türlü olmadı. xampp kurulu yerde mysql'i açıp bağlanınca sorunsuz çalışıyor ama server-side ile mssql'e bağlanmaya çalışınca hata veriyor. Normal bağlanmakta sorun yok server-side ile bağlanamıyorum. Bir fikri olan var mı yardımcı olabilir misiniz ?

    Bir hata örneği;
    SQLSTATE[HY000] [2002] Connection refused
    Ya IP bazlı filtredir ya da MSSQL kullanıcısı sadece localhost'a açıktır
  • 12-03-2021, 20:44:59
    #3
    yalinyalniz adlı üyeden alıntı: mesajı görüntüle
    Ya IP bazlı filtredir ya da MSSQL kullanıcısı sadece localhost'a açıktır
    Üstadım filtre yokta kullanıcı olayından emin değilim onu nereden kontrol edebilirim ?
  • 12-03-2021, 20:46:06
    #4
    GaziMKA adlı üyeden alıntı: mesajı görüntüle
    Üstadım filtre yokta kullanıcı olayından emin değilim onu nereden kontrol edebilirim ?
    Viewer ile aç hocam, kullanıcıyı düzenle.
    İnternette halihazırda bir sürü makale var, inceleyebilirsin.
  • 12-03-2021, 21:04:48
    #5
    MSSQL için wamp yada xamp gerekmez. Doğrudan connection string e sunucu ipsini verip bağlantı yapmalısınız. MSSQL ve agent hizmetlerinin db sunucusunda çalışır durumda olduğundan emin olunuz.
  • 12-03-2021, 21:06:48
    #6
    Esg adlı üyeden alıntı: mesajı görüntüle
    MSSQL için wamp gerekmez. Doğrudan connection string e sunucu ipsini verip bağlantı yapmalısınız. MSSQL ve agent hizmetlerinin db sunucusunda çalışır durumda olduğundan emin olunuz.
    Evet üstadım kapattım xampp'ı falan zaten ona gerek kalmadı haklısın. Ben şuan windows sunucuya sadece MSSQL'e bağlanmak için istek atıyorum. MSSQL tarafını kontrol ettim, bağlandığım kullanıcı sa kullanıcı tam yetkili ve herhangi bir bilgisayardan ssms ile connect olabiliyorum o kullanıcı adı ve şifre ile. Güvenlik duvarında 1433 açık ve sqlserver dışarıdan bağlantıya izinli. Herşey normal görünüyor fakat sorun hala devam ediyor

    Bu arada server_processing.php dosyasını direkt tarayıcıdan yazdığımda hata alıyorum aşağıdaki gibi ;

    {"error":"An error occurred while connecting to the database. The error reported by the server was: SQLSTATE[HY000] [2002] Connection refused"}
  • 12-03-2021, 21:12:24
    #7
    yalinyalniz adlı üyeden alıntı: mesajı görüntüle
    Viewer ile aç hocam, kullanıcıyı düzenle.
    İnternette halihazırda bir sürü makale var, inceleyebilirsin.
    Kullanıcı yetkilendirmesi tarafında ve filtre tarafında tüm kontrolleri yaptım herşey doğru görünüyor üstadım şuan
  • 12-03-2021, 21:14:03
    #8
    GaziMKA adlı üyeden alıntı: mesajı görüntüle
    Kullanıcı yetkilendirmesi tarafında ve filtre tarafında tüm kontrolleri yaptım herşey doğru görünüyor üstadım şuan
    hocam sql servisini yeniden başlat, bağlandığın sunucuda da mssql modülünün güncel ve doğru olduğundan emin ol hocam
  • 12-03-2021, 21:17:53
    #9
    yalinyalniz adlı üyeden alıntı: mesajı görüntüle
    hocam sql servisini yeniden başlat, bağlandığın sunucuda da mssql modülünün güncel ve doğru olduğundan emin ol hocam
    Üstadım sql servislerini yeniden başlattım, sql modülünden kastını anlamadım kusuruma bakma. Kodlarım da aşağıdaki gibi ;

    server_procecssing.php
    <?php
    
    $table         = "Erp_Inventory";
    $primaryKey = 'RecId';
    
    
    $sql_details = array(
        'user' => 'sa',
        'pass' => 'sqlşifrem',
        'db'   => 'databaseadım',
        'host' => '192.168.1.9'
    );
    $columns     = array(
        array('db' => 'RecId',     'dt' => 0),
        array('db' => 'InventoryCode',     'dt' => 1),
        array('db' => 'InventoryName',  'dt' => 2)
    );
    
    require( 'ssp.class.php' );
     
    echo json_encode(
        SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
    );
    HTML tarafı ;

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1.0, maximum-scale=2.0">
        <title>DataTables - Server-side processing</title>
        <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.24/css/jquery.dataTables.min.css">    
    </head>
    
    <body class="dt-example">
        <div class="container">
            <section>
                <table id="example" class="display" cellspacing="0" width="100%">
                    <thead>
                        <tr>
                            <th>RecId</th>
                            <th>Malzeme Kodu</th>
                            <th>Malzeme Adı</th>
                        </tr>
                    </thead>
    
                    <tfoot>
                        <tr>
                            <th>RecId</th>
                            <th>Malzeme Kodu</th>
                            <th>Malzeme Adı</th>
                        </tr>
                    </tfoot>
                </table>
            </section>
        </div>    
    </body>
        <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
        <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js"></script>
        <script type="text/javascript" language="javascript" class="init">
            $(document).ready(function() {
                $('#example').dataTable( {
                    "processing": true,
                    "serverSide": true,
                    "ajax": "scripts/server_processing.php"
                } );
            } );
        </script>
    </html>