اطلاعیه

بستن
No announcement yet.

ارتباط لینوکس با پایگاه داده sql server 2008

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    ارتباط لینوکس با پایگاه داده sql server 2008

    سلام به همه
    سیستم عاملی که دارم لینوکس (centos) هستش که من یه برنامه php درست کردم که باید این برنامه به دیتابیس sql server وصل بشه و یکسری اطلاعات رو بخونه و بده به دیتابیس دوباره . مشکل من اینه که لاگ ها رو که میبینم همون اول کد پی اچ پی نمیتونه به دیتابیس وصل بشه چه برسه به اینکه بقیه کد رو اجرا کنه . :69:

    #2
    سلام . برای اتصال لینوکس به دیتابیس یا پایگاه داده این دوتا پکیج باید نصب شده باشه : php-mssql و freetds . این پست رو مطالعه کنید و مراحلی که گفته شده رو بررسی کنید اگر مشکلتون حل نشد دوباره پست بدین http://linux-zone.org/forums/thread119.html#post222
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 09-01-2016, 08:39 AM.

    من قلبی بزرگ با رویاهایی بزرگ دارم. دانسته هایمان را با هم به اشتراک بگذاریم.

    کامنت


      #3
      ممنون امیر جان من این پکیج ها رو نصب کردم ولی کدم هنوز نمیتونه ارتباط برقرار کنه . کلافم کرده به خدا

      کامنت


        #4
        کد php تون رو میتونید اینجا بزارین که بررسی کنیم . شاید کدی که زدین مشکل داره ؟

        کامنت


          #5
          کد پی اچ پی که زدم به این صورت هست :
          کد PHP:

          #!/usr/bin/php -q
          <?php

            
          require('phpagi.php');
            
          error_reporting(E_ALL);
            
          $agi = new AGI();
            
          $agi->answer();
            
          $count 1;
            
          $loop=1;
            while(
          $loop=1){
            
            
            while(
          $count<=3){
            
            
          //vared kardan etelaate moshtari
            
          $var1 $agi->get_data('sound/code-rahgiri',9000,10);
            
          $var1 $var1['result'];
           
           
          //Connect to MSSQL
           
              
          $msconn mssql_connect('172.16.16.10','dbbehrooz','123456');
              
              if(! 
          $msconn){
              
          $agi-> verbose('$$$$$$$$$$Can not connect to MSSQL***************');
              
              
          $agi->hangup();
                   }
              else{
              
          $agi-> verbose('$$$$$$$$$$$$$$$$connected to MSSQL*************');
             
          mssql_select_db('behrooz');
          آخرین ویرایش توسط behrooz; در تاریخ/ساعت 01-25-2014, 11:45 AM.

          کامنت


            #6
            من کد تون رو بررسی کردم مشکل خاصی نداشت . برای ارتباط php با دیتابیس sql از این چند روش هم میتونید استفاده کنید . با این روش ها هم تست بگیرین ایشاالله مشکلتون حل میشه .

            روش اول :
            اتصال معمولی

            کد PHP:

             <?php
            $myServer 
            "localhost";
            $myUser "your_name";
            $myPass "your_password";
            $myDB "examples";

            //connection to the database
            $dbhandle mssql_connect($myServer$myUser$myPass)
              or die(
            "Couldn't connect to SQL Server on $myServer");

            //select a database to work with
            $selected mssql_select_db($myDB$dbhandle)
              or die(
            "Couldn't open database $myDB");

            //declare the SQL statement that will query the database
            $query "SELECT id, name, year ";
            $query .= "FROM cars ";
            $query .= "WHERE name='BMW'";

            //execute the SQL query and return records
            $result mssql_query($query);

            $numRows mssql_num_rows($result);
            echo 
            "<h1>" $numRows " Row" . ($numRows == "" "s") . " Returned </h1>";

            //display the results
            while($row mssql_fetch_array($result))
            {
              echo 
            "<li>" $row["id"] . $row["name"] . $row["year"] . "</li>";
            }
            //close the connection
            mssql_close($dbhandle);
            ?>
            روش دوم :
            روش DSN یا همان Data Source Name

            کد PHP:

            //print field name
              
            $colName odbc_num_fields($result);
              for (
            $j=1$j<= $colName$j++)
              { 
                echo 
            "<th>";
                echo 
            odbc_field_name ($result$j );
                echo 
            "</th>";
              }

              
            //fetch tha data from the database
              
            while(odbc_fetch_row($result))
              {
                echo 
            "<tr>";
                for(
            $i=1;$i<=odbc_num_fields($result);$i++) 
                {
                  echo 
            "<td>";
                  echo 
            odbc_result($result,$i);
                  echo 
            "</td>";
                }
                echo 
            "</tr>";
              }

              echo 
            "</td> </tr>";
              echo 
            "</table >";

              
            //close the connection
              
            odbc_close ($conn);
            }
            else echo 
            "odbc not connected";
            ?> 
            روش سوم :
            اتصال بدون DSN با روش connection string

            کد PHP:

             <?php
            $myServer 
            "localhost";
            $myUser "your_name";
            $myPass "your_password";
            $myDB "examples";

            //create an instance of the  ADO connection object
            $conn = new COM ("ADODB.Connection")
              or die(
            "Cannot start ADO");

            //define connection string, specify database driver
            $connStr "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB;
              
            $conn->open($connStr); //Open the connection to the database

            //declare the SQL statement that will query the database
            $query "SELECT * FROM cars";

            //execute the SQL statement and return records
            $rs $conn->execute($query);

            $num_columns $rs->Fields->Count();
            echo 
            $num_columns "<br>"

            for (
            $i=0$i $num_columns$i++) {
                
            $fld[$i] = $rs->Fields($i);
            }

            echo 
            "<table>";

            while (!
            $rs->EOF)  //carry on looping through while there are records
            {
                echo 
            "<tr>";
                for (
            $i=0$i $num_columns$i++) {
                    echo 
            "<td>" $fld[$i]->value "</td>";
                }
                echo 
            "</tr>";
                
            $rs->MoveNext(); //move on to the next record
            }


            echo 
            "</table>";

            //close the connection and recordset objects freeing up resources 
            $rs->Close();
            $conn->Close();

            $rs null;
            $conn null;
            ?>
            از این اسکریپت ها هم برای ساخت دیتابیس میتونی استفاده کنی :

            کد PHP:

            CREATE DATABASE examples
            ;
            USE 
            examples;
            CREATE TABLE cars(
               
            id int UNIQUE NOT NULL,
               
            name varchar(40),
               
            year varchar(50),
               
            PRIMARY KEY(id)
            );

            INSERT INTO cars VALUES(1,'Mercedes','2000');
            INSERT INTO cars VALUES(2,'BMW','2004');
            INSERT INTO cars VALUES(3,'Audi','2001'); 
            موفق باشید
            آخرین ویرایش توسط paatimar; در تاریخ/ساعت 01-25-2014, 12:17 PM.

            کامنت


              #7
              کد php که زدم رو اون بخشی که مربوط به اتصال به دیتابیس هست رو کامنت میکنم یا غیرفعال میکنم میره روی ivr که درست کردم ولی به محض اینکه کد مربوط به اتصال به دیتابیس رو از حالت کامنت در میارم دیگه نمیره روی ivr ؟

              کامنت


                #8
                ip و یوزر و پسوردی که برای دیتابیس تعریف کردین رو درست زدین ؟ دیتابیس تون مشکلی نداره درست کانفیگش کردین ؟

                کامنت


                  #9
                  صد در صد مشکل از ارتباط با اسکیول هست
                  در وارد کردن یوزر و پسورد دیتابیس دقت کنید
                  نام دیتابیس و جدول موردنظر رو با دقت بررسی کنید
                  Telegram : https://telegram.me/linuxzone

                  voip trainer - Asterisk - Elastix - Agi Programming- NewRock

                  Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
                  Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
                  Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
                  LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

                  Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

                  کامنت


                    #10
                    با سلام و خسته نباشید

                    من این مشکل رو داشتم و نیاز بود که با php به ms sql وصل بشم بعد از چندین ساعت مشکل حل شد
                    مشکل فایروال سیستم عاملی که ms sql روش نصب بود - خاموشش کردم حل شد

                    البته پورت و تلنت هم چک کردم و همچنین این دستور
                    کد:
                    tsql -S <createdsevername> -U <username> -P <password> -D <chosen_database>

                    کامنت

                    درباره انجمن منطقه لینوکسی ها

                    انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

                    شبکه های اجتماعی

                    ایمیل مدیریت

                    Habili@linux-zone.org

                    در حال انجام ...
                    X