如何使用 C# 在 Sybase 中使用 OUTPUT TO

How do I use OUTPUT TO in Sybase using C#

我想使用 c# 从 Sybase 数据库中提取一些表,目前我尝试了 在 sybase 命令中,它工作正常。但是我应该如何在 C# 中执行此操作?

SELECT * FROM users;
OUTPUT TO 'C:\temp\sample.sql' 
FORMAT TEXT

C# 我喜欢这个。

 SAConnection myConnection = new SAConnection(connectionString);
 {
      myConnection.Open();
      SACommand myCommand = myConnection.CreateCommand();
      myCommand.CommandText = @"select * from users  OUTPUT TO " + "'C:\temp\sample.sql'" + " FORMAT TEXT ";
      SADataReader myDataReader = myCommand.ExecuteReader();                   
      myDataReader.Close();
      myConnection.Close();

 } 

但我收到错误消息“第 1 行 'OUTPUT' 附近的语法错误。

你可以尝试使用UNLOAD声明TO[filepath]

myCommand.CommandText = @"UNLOAD SELECT * FROM users TO " + "'C:\temp\sample.sql'";

注意:文件路径必须在sybase服务器文件系统中,而不是在您的应用程序端。

例如

网络服务器(您的应用程序)和数据库服务器(安装了 sybase 的服务器)

如果您将文件路径设置为 C:\sample.sql,您将在数据库服务器 C:\ 目录中获取文件,而不是在 Web 服务器中。

可以参考这个previous answer and this document

OUTPUT TO is a dbisql command, not a SQL statement recognized by the database server.
-Graeme Perrow