Acceso a bases de datos Lua
Este artículo presenta principalmente la biblioteca de operaciones de bases de datos de Lua:LuaSQLEs de código abierto, y las bases de datos compatibles incluyen: ODBC, ADO, Oracle, MySQL, SQLite y PostgreSQL.
Este artículo presenta la conexión a la base de datos MySQL.
LuaSQL se puedeLuaRocksinstalar; según sea necesario, se pueden instalar los controladores de base de datos que necesites.
Método de instalación de LuaRocks:
$ tar zxpf luarocks-2.2.1.tar.gz
$ cd luarocks-2.2.1
$ ./configure; sudo make bootstrap
$ sudo luarocks install luasocket
$ lua
Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> require "socket"
Instalación de LuaRocks en Windows:https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows
Instalar diferentes controladores de base de datos:
luarocks install luasql-postgres
luarocks install luasql-mysql
luarocks install luasql-sqlite
luarocks install luasql-odbc
También puedes utilizar la instalación desde el código fuente; la dirección del código fuente de Lua en Github:https://github.com/keplerproject/luasql
Conexión de Lua a la base de datos MySQL:
Ejemplo
-- Crear objeto de entorno
env = luasql.mysql()
-- Conectar a la base de datos
conn = env:connect("nombre de la base de datos","usuario","contraseña","dirección IP",puerto)
-- Establecer el formato de codificación de la base de datos
conn:execute"SET NAMES UTF8"
-- Ejecutar operaciones de base de datos
cur = conn:execute("select * from role")
row = cur:fetch({},"a")
-- Crear el objeto de archivo
file = io.open("role.txt","w+");
while row do
var = string.format("%d %s\n", row.id, row.name)
print(var)
file:write(var)
row = cur:fetch(row,"a")
end
file:close() -- Cerrar el objeto de archivo
conn:close() -- Cerrar la conexión de base de datos
env:close() -- Cerrar el entorno de base de datos