如何使用 .NET Provider 在 Firebird 上启用 AUTODDL?
Posted
技术标签:
【中文标题】如何使用 .NET Provider 在 Firebird 上启用 AUTODDL?【英文标题】:How to enable AUTODDL on Firebird using .NET Provider? 【发布时间】:2011-08-12 12:29:06 【问题描述】:我需要通过 C# 应用在 Firebird 嵌入式数据库中启用 AUTODDL。使用isql,执行起来就这么简单:
SET AUTODDL ON;
但我无法使用 FbCommand 执行该语句。我收到了错误:
Token unknown - line 1, column 5
AUTODDL
【问题讨论】:
【参考方案1】:AUTOddl 不是 firebird 命令,它是 isql 命令。 iSql
你有没有想过使用进程函数来执行命令。
public void Execute()
Process p = new Process();
p.StartInfo.FileName = @"C:\Programme\Firebird2\bin\isql.exe";
p.StartInfo.Arguments = String.Format( " -q -user 0 -password 1 elias:2 SET AUTOddl ON", user, password,"Database" );
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.Start();
请注意,我没有测试过上述内容,但它应该可以工作。如果没有,您可以尝试将 sql 脚本放入脚本文件中,然后执行该脚本文件。
执行脚本的参数如下。 -q -i c:\Scripts\CreateScript.sql
希望这会有所帮助。
【讨论】:
我一直在使用 IB Query,它还允许使用“SET AUTODDL ON”。不能用 FbCommand 用那句话吗?以上是关于如何使用 .NET Provider 在 Firebird 上启用 AUTODDL?的主要内容,如果未能解决你的问题,请参考以下文章