Я использую ZeroBrane IDE для lua-скрипта и Visual Studio 2015 для C#. Я могу вызывать lua-скрипт из C# с обычной переменной, но я не могу запустить скрипт с помощью sql-odbc, он работает только в zeroBrane, но из c# я не могу .
вот код С#
try
{
Lua lua = new Lua();
lua.DoFile("DGT_MSID.lua");
var x = lua.DoString("return GetData()");
Console.WriteLine(x.First().ToString());
} catch(NLua.Exceptions.LuaScriptException ex)
{
Console.WriteLine(ex.Message);
}
Скрипт DGT_MSID.lua
function GetData()
require "luasql.odbc"
env = assert(luasql.odbc())
print(env)
con = assert(env:connect("conan", "sa", "p@ssw0rd"))
print(con)
cur = assert (con:execute"use testdb")
cur = assert (con:execute"SELECT MSISD FROM MSID")
row = cur:fetch({}, "a")
while row do
print(string.format("%s",row.MSISD))
row = cur:fetch (row, "a")
end
cur:close()
con:close()
env:close()
return row.MSISD
end
Вот эта ошибка:
ошибка при загрузке модуля luasql.odbc из файла '...\Debug\luasql\odbc.dll': указанный модуль не найден
nlua
, заключалась в том, чтоrequire("luasql.odbc")
будет искать только за пределами моей папкиlua
, поэтому, если у меня есть..\lua\lua_odbc.lua
и..\lua\luasql\odbc.dll
, он будет искать только..\luasql\odbc.dll
и не сможет его найти. - person Nifim   schedule 24.01.2019