Извикване на съобщение на недефинирана функция odbc_connect() при свързване на база данни SAP Hana

Използвах odbc_connect() в моята PHP страница, за да се свържа с базата данни HANA. Работи добре, когато го стартирам локално. Качвам същата PHP страница в сървъра и получавам тази грешка:

Fatal error: Call to undefined function odbc_connect()

Кодът:

$connect = odbc_connect("Team6DataSource", "TEAM6", "Password1", SQL_CUR_USE_ODBC);

Team6DataSource = име на източник на данни.

ip адрес = 54.217.234.218

Може ли някой да ми помогне? Благодаря


person ron    schedule 25.07.2013    source източник
comment
проверявате ли файла php.ini?   -  person VIVEK-MDU    schedule 25.07.2013
comment
звучи сякаш трябва да дефинирате odbc_connect :\   -  person user20232359723568423357842364    schedule 25.07.2013
comment
ако работи на отдалечения сървър, как мога да го променя?   -  person ron    schedule 25.07.2013
comment
моля, прочетете това:clearfoundation .com/component/option,com_kunena/Itemid,232/   -  person VIVEK-MDU    schedule 25.07.2013
comment
как мога да дефинираm odbc_connect? :)   -  person ron    schedule 25.07.2013
comment
свързвате ли се в PHP, докато можете да се свържете с помощта на функцията odbc_connect   -  person VIVEK-MDU    schedule 25.07.2013
comment
Здравейте, VIVEK-MDU, публикацията, която ми изпратихте, казва, че липсва включен файл или нещо подобно. Ако е така, тогава как така работи перфектно, докато аз работя локално?   -  person ron    schedule 25.07.2013
comment
Здравей @ron...Прочетете тази статия как да свържете ODBC за жива база данни phphelp.com/tutorial/ и можете да извикате проста функция odbc_connect   -  person VIVEK-MDU    schedule 25.07.2013


Отговори (2)


Току-що прегледах в Google, за да получа тази инструкция, това наистина е полезно за вас.

  1. Изтеглете SQL Server ODBC драйвера за вашата PHP клиентска
    платформа.
    (Необходима е регистрация.) Ако ODBC драйверът на SQL Server в момента не е наличен за вашата платформа, проверете списъка с
    ODBC - Платформи за ODBC Bridge Client. ODBC-ODBC Bridge е
    алтернативно решение за SQL Server от Easysoft, което можете да изтеглите от този сайт.
  2. Инсталирайте и лицензирайте SQL Server ODBC драйвера на машината, на която е инсталиран PHP. За инструкции за инсталиране вижте документацията на ODBC драйвера. Обърнете се към документацията, за да видите кои променливи на средата трябва да зададете (LD_LIBRARY_PATH, LIBPATH, LD_RUN_PATH, SHLIB_PATH depending on the driver, platform and linker).
  3. Създайте ODBC източник на данни в /etc/odbc.ini, който се свързва с SQL Server database, до който искате да получите достъп от PHP. Например този източник на данни SQL Server ODBC се свързва с екземпляр на SQL Server Express, който обслужва базата данни Northwind:

    • Use isql to test the new data source. For example: cd /usr/local/easysoft/unixODBC/bin

    ./isql -v MSSQL-PHP

[MSSQL-PHP]
Driver                  = Easysoft ODBC-SQL Server
Server                  = my_machine\SQLEXPRESS
User                    = my_domain\my_user
Password                = my_password

Моля, копирайте и поставете този скрипт и го изпълнете

<?
/*
PHP MSSQL Example

Replace data_source_name with the name of your data source.
Replace database_username and database_password
with the SQL Server database username and password.
*/
$data_source='data_source_name';
$user='database_username';
$password='database_password';

// Connect to the data source and get a handle for that connection.
$conn=odbc_connect($data_source,$user,$password);
if (!$conn){
    if (phpversion() < '4.0'){
      exit("Connection Failed: . $php_errormsg" );
    }
    else{
      exit("Connection Failed:" . odbc_errormsg() );
    }
}

// This query generates a result set with one record in it.
$sql="SELECT 1 AS test_col";

# Execute the statement.
$rs=odbc_exec($conn,$sql);

// Fetch and display the result set value.
if (!$rs){
    exit("Error in SQL");
}
while (odbc_fetch_row($rs)){
    $col1=odbc_result($rs, "test_col");
    echo "$col1\n";
}

// Disconnect the database from the database handle.
odbc_close($conn);
?>
  1. Заменете data_source_name, database_username and database_password с вашия SQL Server ODBC източник на данни, потребителско име и парола.
  2. За да стартирате скрипта под Apache, запазете файла под основната директория. For example, /var/www/apache2-default/php-mssql-connection.phtml. Then view the file in a web browser: на документа на вашия уеб сървър на Apache

    http://localhost/php-mssql-connection.phtml
    
  3. Ако вашият уеб браузър не работи на същата машина като уеб сървъра, заменете localhost с името на хоста или IP адреса на уеб сървъра.
  4. За да стартирате скрипта от командния ред, запишете файла.

    Например /tmp/php-mssql-connection.php. След това стартирайте $ php /tmp/php-mssql-connection.php.

още повече подробности Вижте тази ВРЪЗКА

person VIVEK-MDU    schedule 25.07.2013

Изтеглете това, копирайте .dll в PHP папка и в файлът php.ini добавя:

extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll
person Daniel Mera Alvarez    schedule 18.07.2016