加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 转换不同数据库的SQL查询

发布时间:2020-12-15 06:27:53 所属栏目:百科 来源:网络整理
导读:有没有一个工具可以将一个数据库的一个SQL查询转换为另一个数据库? 对于SQLite CREATE TABLE ConstantValues( Id int AUTOINCREMENT primary key, VariableName varchar(50),Values varchar(150) ) 对于SQL Server CREATE TABLE ConstantValues( Id INTEGER
有没有一个工具可以将一个数据库的一个SQL查询转换为另一个数据库?

对于SQLite

> CREATE TABLE ConstantValues(    Id int
> AUTOINCREMENT primary key,> VariableName varchar(50),Values
> varchar(150) )

对于SQL Server

> CREATE TABLE ConstantValues(    Id
> INTEGER identity(1,1) primary key,Values
> varchar(150) )

同样,对于Oracle和SQL Server也是不同的.另外在外键约束声明中,如果有一个工具,以便我们可以从任何数据库获取SQL到任何数据库,这对我来说真的很有帮助.

我已经创建了一个这样的功能,但似乎不是一个很好的解决方案:

private string changeSQL(string sql)
{
    switch (dbtype)
    {
        case dbType.SQLite:
            sql = sql.Replace(" int "," INTEGER ");
            sql = sql.Replace(" identity(1,1) "," AUTOINCREMENT ");
            break;
        case dbType.MsAscess:
            sql = sql.Replace(" int "," ");
            sql = sql.Replace(" identity(1,"");
            sql = sql.Replace("AUTOINCREMENT","AUTOINCREMENT");

            break;
    }
    return (sql);
}

类似地,对于SQLite,使用||完成连接而在SQL Server中则是使用完成的.

解决方法

SwisSQL Console 5.0

控制台提供即时解决方案,提供快速可靠的SQL查询转换实用程序,可加速迁移.控制台支持跨Oracle,SQL Server,IBM DB2,MySQL,Sybase,PostgreSQL,Informix和Netezza数据库的迁移.该软件还具有测试目标数据库中转换的SQL的功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读