1

lua スクリプトに ZeroBrane IDE を使用し、C# に Visual Studio 2015 を使用しています。通常の変数を使用して C# から lua スクリプトを呼び出すことができますが、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

このエラーは次のとおりです。

ファイル '...\Debug\luasql\odbc.dll' からモジュール 'luasql.odbc' をロード中にエラーが発生しました: 指定されたモジュールが見つかりませんでした

4

1 に答える 1

0

odbc.dll の依存関係の 1 つが見つからないか、ロードされていないと思われます (Lua DLL またはリンクされている他のライブラリである可能性があります)。依存関係ウォーカーを使用して依存関係のリストを取得し、アプリケーションを「プロファイル」モードで実行することもできます。これにより、読み込まれたすべての DLL と失敗した読み込みとそれに関連するエラーが表示されます。

于 2019-01-24T15:46:21.957 に答える