Как вызвать скрипт luasql из.NET
Я использую ZeroBrane IDE для сценария lua и Visual Studio 2015 для C#. Я могу вызвать сценарий lua из C# с обычной переменной, но не могу запустить сценарий с помощью sql-odbc, он работает только в zeroBrane, но из C# я не могу,
вот код 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': указанный модуль не найден
1 ответ
Я подозреваю, что одна из зависимостей odbc.dll отсутствует или не загружается (это может быть библиотека Lua DLL или другая библиотека, с которой она связана). Вы можете использовать средство обхода зависимостей, чтобы получить список зависимостей и даже запустить свое приложение в режиме "профиля", в котором будут показаны все загруженные библиотеки DLL, а также любые сбойные загрузки и связанные с ними ошибки.