Results 1 to 10 of 10

Thread: Cannot Select DB using mssql

  1. #1
    Join Date
    Oct 2010
    Posts
    10

    Cannot Select DB using mssql

    Good day!

    I change my database from mysql to mssql, so I need to change the connection code in my php. I’m not familiar about the codes using mssql. Now cannot connect to my database.
    I used the following:
    php 5.1.4
    IIS 6.0
    Microsoft SQL Server 2005 Express Edition
    SQL Server Management Studio Express
    Here is my code:
    PHP Code:
    <?php
    //session_start(); 
    //session_regenerate_id(); 

    //if($_SESSION['loggedin']){ 
    //the user is already logged in, lets redirect them to the other page 
      //  header("Location:company.php"); 
    //} 


    $server "ISM\SQLEXPRESS";
    //$db = "dbtest";
    $connectOptions = array("Database" => "dbtest");
    //Because UID and PWD are not specified in the connection option, the connection is made with Windows Authentication.
    $conn mssql_connect($server) or die("Could not connect");


    $selected mssql_select_db($connectOptions)or die("Cannot select DB");    


            
    $department $_POST['department'];    
            
    $username $_POST['username']; 

            
    $sql=mssql_query("SELECT `Department`, `Username` FROM `tbluser` WHERE `Department` = '{$department}' AND Username = '{$username}'") or die(mssql_min_error_severity()); 
            
    $ct mssql_num_rows($sql); 
          
            if(
    $ct == 1) { 
    // im guessing this means that the user is valid. 
    $_SESSION['loggedin'] = true// now that the user is valid we change the session value. 
                
    $row mssql_fetch_assoc($sql);   
                
                
    //$_SESSION['username'] = $row['Username'] ;
                //$_SESSION['department'] = $row['Department'];
                
                
    $Departments=array('aa''bb''cc''dd''ee''ff''gg''hh''ii''jj');
                
                if (
    in_array($row['Department'], $Departments)){
                        
    header ('Location:company.php');
                }else{
                        echo 
    "Incorrect Username or Department";
                        
    header ('Location:index.php');
                }
            }
    ?>
    And when I run this code the result is:

    Cannot select DB

    Thank you in advance

  2. #2
    Join Date
    Sep 2002
    Posts
    5,938

  3. #3
    Join Date
    Oct 2010
    Posts
    10
    Quote Originally Posted by rmiao View Post
    I try a new code:

    PHP Code:
    $db "dbtest"
    $selected mssql_select_db($db) or die('MSSQL error' mssql_get_last_message()); 
    and the output is:
    MSSQL error.The several principal "[domain name]\IUSR_[computer name]" is not able to access the databse "database name" under the current security context.

    Then I research about this error and I find a step to fix the error, but I can't follow the steps because I can't find what they say in the steps.

    here is the step:
    To fix this SQL Server Management Studio 2008 (maybe in 2005 too), please do the following:

    1.Open SQL Server Management Studio 2008
    2.Connect to the database server as normal
    3.Press F7 to open the "Object Explorer Details" window or click "View" >> "Object Explorer Details"
    4.In the object explorer details window expand by double click on "Databases"
    5.Right click on the column header and deselect "Collation" from the menu that will pop up
    6.From the object explorer, refresh the "Databases"

    I don't know what is the appearance if I am already in the Object Explorer Details view. And I ca'n see the column header and also the Collation.

  4. #4
    Join Date
    Sep 2002
    Posts
    5,938
    Ensure [domain name]\IUSR_[computer name] has valid login in sql and proper permission in dbtest.

  5. #5
    Join Date
    Oct 2010
    Posts
    10
    Quote Originally Posted by rmiao View Post
    Ensure [domain name]\IUSR_[computer name] has valid login in sql and proper permission in dbtest.
    I can't find [domain name]\IUSR_[computer name] in the logins folder.

    On my logins folder has only the ff users:
    BUILTIN\Administrators
    BUILTIN\Users
    MELROSE\SQLServer2005MSSQLUser$computer name$SQLEXPRESS
    NT AUTHORITY\SYSTEM
    sa

  6. #6
    Join Date
    Sep 2002
    Posts
    5,938
    You can create sql login for that domain account and grant proper db permission.

  7. #7
    Join Date
    Oct 2010
    Posts
    10
    Quote Originally Posted by rmiao View Post
    You can create sql login for that domain account and grant proper db permission.
    You mean I need to create new user and what permission i need to give on the new user?

    But I'm using windows authentication.

  8. #8
    Join Date
    Oct 2010
    Posts
    10
    I try to configure the sql server I do the ff:

    1. I open the SQL Server Management Studio Express
    2. I connect using Windows Authentication
    3. Under Databases folder where my database was there.
    4. I click the plus sign on Databases
    5. Then my dbtest was appearing and I click the plus sign.
    6. On Security folder I click the plus sign
    7. Then the Users folder was appear
    8. I right click on the DOMAIN\SQLServer2005MSSQLUser$COMPUTERNAME$SQLEXPR ESS.
    9. On the General Tab-> Ownded Schemas I try to check the db_accessadmin and also I accidentall check the checkbox of db_owner and db_securityadmin. And Role Members I check also the db_accessadmin.

    After that I reboot the server.

    Then i run again my webpage.

    And the result is:
    Cannot select DB

    Before I configure my sql server the output of my codes is:

    MSSQL error.The several principal "[domain name]\IUSR_[computer name]" is not able to access the databse "database name" under the current security context.

    After that I configure again my sql server to uncheck the checkboxes that I checked before. And I don't know why on the Owned Schema the checkboxex that I check was hiding so I can edit it, but on the Role members I uncheck the db_accessadmin.

    I don't have any idea to fix my error: I really needed to fix it but I don't know what to do and I'm a little bit scared to configure the sql server, because I am new user of it.

  9. #9
    Join Date
    Sep 2002
    Posts
    5,938
    Sounds you should work with your dba on this.

  10. #10
    Join Date
    Oct 2010
    Posts
    10
    I don't know why I can't connect to my database even I am the administrator.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •