2016-12-16 95 views
0

我已經設置了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 =>找不到

+0

如果ldd表示找不到'libignite-binary-1.8.0.16166.so.0',那麼'LD_LIBRARY_PATH'中沒有包含'libignite-binary-1.8.0.16166.so.0'的目錄。 – isapego

回答

0

您是否嘗試過運行ldd /usr/local/lib/libignite-odbc.so?似乎有一些未解決的依賴關係。也許你需要將它們添加到LD_LIBRARY_PATH

+0

感謝更新的問題 – vishal

相關問題