Riešenie pripojenia ODBC Nodejs

Nodejs Odbc Connection Solution




Ak potrebujete dotlač, uveďte zdroj: http://blog.csdn.net/itas109
Skupina technickej výmeny QQ: 129518033

Adresár článkov

okolie:
okná:
OS: win7 64bit
Uzol: 10.15.3 64bit
uzol-gyp: 6.0.0
Kompilátor: vs2015
python: 2.7.5
async: 3.0.1 (závislé od odbc)
node-addon-api: 1.7.1 (závislé od odbc)
odbc: 2.2.1
postgresql: 10.10



Linux:
OS: deepIn 15.11
Uzol: 10.15.3 64bit
uzol-gyp: 6.0.0
Kompilátor: gcc 6.3.0 20170516
python: 2.7.5
unixodbc: 2.3.7
async: 3.0.1 (závislé od odbc)
node-addon-api: 1.7.1 (závislé od odbc)
odbc: 2.2.1
postgresql: 10.10




1.okná pod odbc

1.1 Inštalácia node a node-gyp

mierne



1.2 Nainštalujte modul nodejs odbc

npm i odbc

alebo

cnpm i odbc

obrázok

1.3 Nastaviť zdroj údajov odbc

Vezmite si tu ako príklad PostgreSQL.
obrázok



1.4 Skúšobný kód

const odbc = require('odbc') async function queryDB() { const connectionConfig = { connectionString: 'DSN=PostgreSQL30', connectionTimeout: 10, loginTimeout: 10, } const connection = await odbc.connect(connectionConfig) const result = await connection.query('SELECT * FROM student') console.log(JSON.stringify(result))// [{'name':'ZhangSan','age':18}] } queryDB()

obrázok

2. odbc pod Linuxom

2.1 Nainštalujte node a node-gyp

mierne
obrázok

2.2 Nainštalujte modul nodejs odbc

npm i odbc

alebo

cnpm i odbc

2.3 Nainštalujte unixodbc

2.3.1 Stiahnutie unixodbc

Stiahnuť ▼ unixodbc 2.3.7

MD5: 274a711b0c77394e052db6493840c6f9

2.3.2 Zostavte a nainštalujte unixodbc

./configure --prefix=/usr/local/unixODBC-2.3.7 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc make -j 8 make install

2.3.3 Test Unixodbc

odbcinst -j

obrázok

Poznámka:
Je to preto, že nie je možné nájsť inštalačnú cestu dynamickej knižnice. Jedným zo spôsobov spracovania je konfigurácia podľa vyššie uvedeného parametra ./configure a ďalším druhom je mäkký odkaz

odbcinst -j odbcinst: error while loading shared libraries: libodbcinst.so.2: cannot open shared object file: No such file or directory

2.4 Inštalácia ovládača ODG PostgreSQL

2.4.1 kompilácia zdrojového kódu psqlodbc-10.03

odkaz na stiahnutie:
psqlodbc-10.03

sudo ./configure --with-libpq=/opt/PostgreSQL/10 sudo make -j 8 sudo make install

Medzi nimi je parameter --with-libpq koreňový adresár inštalácie pg a predvolená cesta je / opt / PostgreSQL / 10.

obrázok

2.4.2 Inštalácia príkazov

sudo apt-get install odbc-postgresql

iné:
mysql

sudo apt-get install libmyodbc

2.5 Nastaviť zdroj údajov odbc

2.5.1 Ručná konfigurácia

  • /usr/local/etc/odbcinst.ini konfigurácia
[PostgreSQL] Description = ODBC for PostgreSQL Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so FileUsage = 1

overenie:

$ odbcinst -q -d [PostgreSQL]
  • /usr/local/etc/odbc.ini konfigurácia zdroja údajov systému
[PostgreSQL30] Description = PostgreSQL connection Driver = PostgreSQL Database = test Servername = localhost UserName = postgres Password = 123456 Port = 5432 Protocol = 8.1 ReadOnly = No RowVersioning = No ShowSystemTables = No ShowOidColumn = No FakeOidIndex = No ConnSettings =

overenie:

$ isql PostgreSQL30 +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>

Poznámka:
Ak nie ste pripojení k natívnej databáze PostgreSQL v systéme Linux, musíte si overiť, či sa Linux dokáže normálne pripojiť k PostgreSQL.
Predvolene sa PostgreSQL môže pripájať iba lokálne.
Napríklad sa objaví

$ isql PostgreSQL301 [ISQL]ERROR: Could not SQLConnect

Môžete sa pokúsiť pripojiť pomocou pgAdmin 4, uvidíte viac chýb.

2.5.2 Konfigurácia obrazu GUI

unixODBC-GUI-Qt
Skip for now

2.6 Skúšobný kód

const odbc = require('odbc') async function queryDB() { const connectionConfig = { connectionString: 'DSN=PostgreSQL30', connectionTimeout: 10, loginTimeout: 10, } const connection = await odbc.connect(connectionConfig) const result = await connection.query('SELECT * FROM student') console.log(JSON.stringify(result))// [{'name':'ZhangSan','age':18}] } queryDB()

obrázok

3. Inštalácia a konfigurácia zálohovania blogových príspevkov ODBC

Inštalácia a konfigurácia ODBC

Konektor ODBC je vrstva abstrakcie databázy, ktorá umožňuje spoločnosti Asterisk komunikovať so širokou škálou databáz bez toho, aby vývojári potrebovali vytvoriť samostatný databázový konektor pre každú databázu, ktorú chce spoločnosť Asterisk podporovať. To ušetrí veľa úsilia pri vývoji a údržbu kódu. Náklady na výkon sú mierne, pretože medzi Asterisk a databázu pridávame ďalšiu aplikačnú vrstvu, ktorá sa však dá zmierniť správnym dizajnom a stojí za to, keď vo svojom systéme Asterisk potrebujete výkonné a flexibilné databázové možnosti.

Pred inštaláciou konektora do Asterisku musíte nainštalovať ODBC do samotného Linuxu. Ak chcete nainštalovať ovládače ODBC, použite jeden z nasledujúcich príkazov.
V systéme CentOS:

$ sudo yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel

Ak používate 64-bitovú inštaláciu, nezabudnite na koniec svojich vývojových balíkov pridať .x86_64, aby ste sa uistili, že nie sú nainštalované aj balíčky i386, pretože ak sa Asterisk pripojí k nesprávnym knižniciam, môžu nastať problémy so stabilitou.

V systéme Ubuntu:

$ sudo apt-get install unixODBC unixODBC-dev

V kapitole 3, Inštalácia hviezdičky nájdete maticu balíkov, ktoré by ste mali mať nainštalované.

Bude tiež potrebné nainštalovať vývojový balík unixODBC, pretože Asterisk ho používa na zostavenie modulov ODBC, ktoré budeme v tejto kapitole používať.

Ovládače unixODBC dodávané s distribúciami sú často niekoľkými verziami za oficiálne vydanými verziami na webových stránkach http://www.unixodbc.org. Ak máte počas používania unixODBC problémy so stabilitou, bude pravdepodobne potrebné vykonať inštaláciu zo zdroja. Najskôr nezabudnite odstrániť ovládače unixODBC prostredníctvom správcu balíkov a potom aktualizujte cesty v súbore /etc/odbcinst.ini.

Predvolene CentOS nainštaluje ovládače pre pripojenie k databázam PostgreSQL cez ODBC. Ak chcete nainštalovať ovládače pre MySQL, spustite nasledujúci príkaz:

$ sudo yum install mysql-connector-odbc

Inštalácia konektora ODBC PostgreSQL na Ubuntu:

$ sudo apt-get install odbc-postgresql

Alebo nainštalovať konektor MySQL ODBC na Ubuntu:

$ sudo apt-get install libmyodbc

Konfigurácia ODBC pre PostgreSQL
Konfigurácia ovládača ODG PostgreSQL sa vykonáva v súbore /etc/odbcinst.ini.

V systéme CentOS už predvolený súbor obsahuje niektoré údaje, vrátane údajov pre PostgreSQL, takže stačí skontrolovať, či údaje existujú. Súbor bude vyzerať takto:

[PostgreSQL] Description = ODBC for PostgreSQL Driver = /usr/lib/libodbcpsql.so Setup = /usr/lib/libodbcpsqlS.so FileUsage = 1

V systéme Ubuntu bude súbor /etc/odbcinst.ini prázdny, takže do tohto konfiguračného súboru budete musieť pridať údaje. Do súboru odbcinst.ini pridajte toto:

[PostgreSQL] Description = ODBC for PostgreSQL Driver = /usr/lib/odbc/psqlodbca.so Setup = /usr/lib/odbc/libodbcpsqlS.so FileUsage = 1

V 64-bitových systémoch budete musieť zmeniť cestu knižníc z / usr / lib / na / usr / lib64 /, aby ste získali prístup k správnym súborom knižnice.

V obidvoch prípadoch môžete použiť súbor cat> /etc/odbcinst.ini na napísanie čistého konfiguračného súboru, ako sme to už urobili v iných kapitolách. Po dokončení použite súbor Ctrl + D a uložte súbor.

Spustením nasledujúceho príkazu overte, či je systém schopný vidieť vodič. Ak je všetko v poriadku, malo by sa vrátiť meno štítku PostgreSQL:

$ odbcinst -q -d [PostgreSQL]

Ďalej nakonfigurujte súbor /etc/odbc.ini, ktorý sa používa na vytvorenie identifikátora, ktorý bude Asterisk používať na odkázanie na túto konfiguráciu. Ak budete kedykoľvek v budúcnosti potrebovať zmeniť databázu na inú, jednoducho musíte prekonfigurovať tento súbor, čo umožní spoločnosti Asterisk pokračovať v smerovaní na to isté miesto [141]:

[asterisk-connector] Description = PostgreSQL connection to 'asterisk' database Driver = PostgreSQL Database = asterisk Servername = localhost UserName = asterisk Password = welcome Port = 5432 Protocol = 8.1 ReadOnly = No RowVersioning = No ShowSystemTables = No ShowOidColumn = No FakeOidIndex = No ConnSettings =

Konfigurácia ODBC pre MySQL
Konfigurácia ovládača MySQL ODBC sa vykonáva v súbore /etc/odbcinst.ini.

V systéme CentOS predvolený súbor už obsahuje niektoré údaje, vrátane údajov pre MySQL, je však potrebné ich odkomentovať a vyžaduje niekoľko zmien. Nahraďte existujúci text takto:

[MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc3.so Setup = /usr/lib/libodbcmyS.so FileUsage = 1

V systéme Ubuntu bude súbor /etc/odbcinst.ini prázdny, takže do tohto konfiguračného súboru budete musieť pridať údaje. Do súboru odbcinst.ini pridajte toto:

[MySQL] Description = ODBC for MySQL Driver = /usr/lib/odbc/libmyodbc.so Setup = /usr/lib/odbc/libodbcmyS.so FileUsage = 1

V 64-bitových systémoch budete musieť zmeniť cestu knižníc z / usr / lib / na / usr / lib64 /, aby ste získali prístup k správnym súborom knižnice.

V obidvoch prípadoch môžete použiť súbor cat> /etc/odbcinst.ini na napísanie čistého konfiguračného súboru, ako sme to už urobili v iných kapitolách. Po dokončení použite súbor Ctrl + D a uložte súbor.

Spustením nasledujúceho príkazu overte, či je systém schopný vidieť vodič. Ak je všetko v poriadku, malo by sa vrátiť meno štítku MySQL:

$ odbcinst -q -d [MySQL]

Ďalej nakonfigurujte súbor /etc/odbc.ini, ktorý sa používa na vytvorenie identifikátora, ktorý bude Asterisk používať na odkázanie na túto konfiguráciu. Ak budete kedykoľvek v budúcnosti potrebovať zmeniť databázu na inú, jednoducho musíte prekonfigurovať tento súbor, čo umožní spoločnosti Asterisk naďalej smerovať na to isté miesto:

[asterisk-connector] Description = MySQL connection to 'asterisk' database Driver = MySQL Database = asterisk Server = localhost UserName = asterisk Password = welcome Port = 3306 Socket = /var/lib/mysql/mysql.sock

Myslím si, že článok je pre vás nápomocný, môžete naskenovať QR kód a venovať ho blogerovi, ďakujeme!
obrázok
Ak potrebujete dotlač, uveďte zdroj: http://blog.csdn.net/itas109
Skupina technickej výmeny QQ: 129518033


Licencia

Licencia podľa CC BY-NC-ND 4.0: Uvedenie zdroja - nekomerčné použitie - výklad je zakázané


Referencia:
1. https://www.npmjs.com/package/odbc
2. https://github.com/markdirish/node-odbc/
3. http://www.unixodbc.org/
4. http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/installing_configuring_odbc.html