我试图将一些sql从MySQL移植到SQLite,但是我们使用mysql的md5()函数,它在sqlite中不存在.
我已经看到人们重新编译sqlite以包含此函数的引用,我认为可以在sqlite中包含用户定义的函数(对吗?).那么如何将md5()添加到sqlite呢?我宁愿不必重新编译我的软件包管理器安装的sqlite,是否有可能没有这样做md5?
有没有办法从sqldf查询中调用R函数?例如
sqldf("select paste('Hello', 'World')")
Run Code Online (Sandbox Code Playgroud)
或者,有没有办法在sqldf后面的SQLite引擎中定义自定义函数或存储过程?(我使用sqldf和普通的内存中的R数据帧;我没有连接到任何实际的数据库.)
我试图使用我的C#和ADO.NET代码中的SQLiteFunction.谁能说我为什么会遇到这个问题?
System.Data.SQLite.dll中发生未处理的"System.Data.SQLite.SQLiteException"类型的异常附加信息:"DEMOIT"附近的SQLite错误:语法错误
我使用.NET 3.5 x86与SQLite ADO.NET 1.0.65 - 帮助!
public class Program
{
static void Main( string[ args )
{
test();
}
public static void test()
{
SQLiteConnection sqlConn = new SQLiteConnection( "Data Source=TestFoods.db;" );
sqlConn.Open();
SQLiteCommand sqlCmd = new SQLiteCommand( "PRAGMA integrity_check" , sqlConn);
sqlCmd.ExecuteNonQuery();
SQLiteFunction.RegisterFunction( typeof(DEMOIT) );
sqlCmd = new SQLiteCommand( "SELECT * FROM Foods Where Foods.Name DEMOIT '$butter' " , sqlConn );
sqlCmd.CommandType = CommandType.Text;
SQLiteDataAdapter liteAdapter = new SQLiteDataAdapter( sqlCmd );
DataSet dataSet = new DataSet(); …Run Code Online (Sandbox Code Playgroud)