подключение sqlserver 2000 с php [duplicate]

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
5
задан Lorenz Meyer 5 November 2013 в 09:14
поделиться

1 ответ

Это очень сложная проблема. Вот подробные сведения о совместимости, поэтому кто-то другой может потратить меньше времени на поиск и попытку.

PHP extension sqlsrv из Microsoft

sqlsrv существует в двух (+ неофициальных) версиях, они совместимы только с 32-битным PHP. В настоящее время нет версии для 64-битного PHP.

  • sqlsrv версия 2.0 совместима с PHP 5.2.4 до 5.3.x и SQL Native client 2008 R2 для подключения к Microsoft SQL Server 2000, 2005 , или 2008.
  • sqlsrv версия 3.0 совместима с PHP 5.3.0 до 5.4.x и SQL Native client 2012 для подключения к Microsoft SQL Server 2005, 2008, 2008 R2 и SQL Server 2012.
  • официальная версия в настоящее время не поддерживает PHP 5.5
  • Существует некоторая неофициальная версия SQLSRV 3.0 для gp2 на Rob Area , которая не требует SQL Native client 2012, но должна работать с предыдущими Собственные клиенты SQL. Я еще не пытался это сделать.

Расширение ODBC для PHP

Другой способ доступа к SQL Server 2000 с PHP 5.4 - через расширение odbc. Можно подключиться с помощью трех драйверов ODBC для SQL Server 2000:

  • Клиент SQL Server ODBC версии 6.00, который поставляется с предустановленной Windows 2008 R2
  • Собственный клиент SQL Server 9.0 ( SQL Server 2005)
  • Собственный клиент SQL Server 10.0 (пакет функций SQL Server 2008 R2)

Код для подключения для каждого из этих драйверов ODBC:

$connection_string = 'DRIVER={SQL Server};SERVER=mbsql;DATABASE=vg1';
$connection_string = 'DRIVER={SQL Native Client};SERVER=mbsql;DATABASE=vg1';
$connection_string = 'DRIVER={SQL Server Native Client 10.0};SERVER=mbsql;DATABASE=vg1';
$connection = odbc_connect( $connection_string, $user, $pass );

Эти соединения работают с PHP 32-битным и 64-битным. Я еще не тестировал, какой из них лучший.

13
ответ дан Lorenz Meyer 18 August 2018 в 15:44
поделиться
  • 1
    Вы пытались использовать PHP 7? А как подключиться и получить доступ к данным из mssql 2000 с помощью ubuntu 16.04? – Ugy Astro 11 May 2018 в 04:10
  • 2
    Php7 станет следующим шагом, мне нужно будет в ближайшее время. Но я думаю, что лучше обновить сервер sql. – Lorenz Meyer 11 May 2018 в 05:12
Другие вопросы по тегам:

Похожие вопросы: