Ü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
Datatable Server-Side Processing MSSQL Bağlantı Sorunu
12
●114
- 12-03-2021, 20:36:06
- 12-03-2021, 20:43:06Ya IP bazlı filtredir ya da MSSQL kullanıcısı sadece localhost'a açıktırGaziMKA adlı üyeden alıntı: mesajı görüntüle
- 12-03-2021, 20:44:59Üstadım filtre yokta kullanıcı olayından emin değilim onu nereden kontrol edebilirim ?yalinyalniz adlı üyeden alıntı: mesajı görüntüle
- 12-03-2021, 20:46:06Viewer ile aç hocam, kullanıcıyı düzenle.GaziMKA adlı üyeden alıntı: mesajı görüntüle
İnternette halihazırda bir sürü makale var, inceleyebilirsin. - 12-03-2021, 21:06:48Evet ü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 ediyorEsg adlı üyeden alıntı: mesajı görüntüle
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:24Kullanıcı yetkilendirmesi tarafında ve filtre tarafında tüm kontrolleri yaptım herşey doğru görünüyor üstadım şuanyalinyalniz adlı üyeden alıntı: mesajı görüntüle
- 12-03-2021, 21:14:03hocam sql servisini yeniden başlat, bağlandığın sunucuda da mssql modülünün güncel ve doğru olduğundan emin ol hocamGaziMKA adlı üyeden alıntı: mesajı görüntüle
- 12-03-2021, 21:17:53Ü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 ;yalinyalniz adlı üyeden alıntı: mesajı görüntüle
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>