我已經設置了apache ignite,將數據加載到Java應用程序中點燃,使用休息apis。我需要從PHP中查詢,所以Apache Ignite - [PDOException] SQLSTATE [IM002] SQLConnect:0 [unixODBC] [驅動程序管理器]未找到數據源名稱,並且沒有指定默認驅動程序
我想從PHP使用pdo_odbc連接到Apache Ignite。我有,
ⅰ)安裝ODBC驅動程序管理器 - 內置http://apacheignite.gridgain.org/docs/odbc-driver#section-building-on-linux
ⅲ)安裝的Ignite ODBC驅動http://apacheignite.gridgain.org/docs/odbc-driver#section-installing-on-linuxhttp://www.unixodbc.org/
ⅱ)ODBC驅動程序,使用
ⅳ)配置DSN,http://apacheignite.gridgain.org/v1.8/docs/connecting-string#configuring-dsn
odbcinst -j
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/me/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
貓/etc/odbcinst.ini
[Apache Ignite]
Description=Apache Ignite
Driver=/usr/local/lib/libignite-odbc.so
DriverODBCVer=03.00
FileUsage=0
UsageCount=1
貓/etc/odbc.ini
[Apache Ignite]
Description=Apache Ignite
Driver=/usr/local/lib/libignite-odbc.so
DriverODBCVer=03.00
FileUsage=0
UsageCount=1
貓/home/me/.odbc.ini
[Apache Ignite]
Description=Apache Ignite
Driver=/usr/local/lib/libignite-odbc.so
DriverODBCVer=03.00
FileUsage=0
UsageCount=1
V)安裝pdo_odbc,
sudo apt install php5.6-odbc
它顯示在phpinfo。
VI)啓用OdbcConfiguration使用
Ignite ignite = Ignition.start("examples/config/example-ignite.xml");
IgniteConfiguration iCfg = ignite.configuration();
OdbcConfiguration odbcCfg = new OdbcConfiguration();
iCfg.setOdbcConfiguration(odbcCfg);
七)
$ignite = $dbh = new \PDO('odbc:Apache Ignite');
$ignite->prepare('select * from Person');
我仍然得到這個例外。
[PDOException]
SQLSTATE[01000] SQLConnect: 0 [unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libignite-odbc.so' : file not found
更新:LD_LIBRARY_PATH已經在/ usr/local/lib目錄 LS的/ usr/local/lib目錄| grep的libignite-二進制1.8.0.16166.so.0
libignite-binary-1.8.0.16166.so.0
libignite-binary-1.8.0.16166.so.0.0.0
LDD /usr/local/lib/libignite-odbc.so
Linux的vdso.so.1 =>(0x00007ffe68521000) libignite -binary-1.8.0.16166.so.0 =>找不到
如果ldd表示找不到'libignite-binary-1.8.0.16166.so.0',那麼'LD_LIBRARY_PATH'中沒有包含'libignite-binary-1.8.0.16166.so.0'的目錄。 – isapego