Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何通过本地Linux机器截断(删除所有行)远程SQL server上的表_Mysql_Sql Server_Linux - Fatal编程技术网

Mysql 如何通过本地Linux机器截断(删除所有行)远程SQL server上的表

Mysql 如何通过本地Linux机器截断(删除所有行)远程SQL server上的表,mysql,sql-server,linux,Mysql,Sql Server,Linux,在我的应用程序(Linux上)中,我每天都会收到一个.DAT文件,我应该将它加载到远程SQL server表中。根据要求,我应该在将.DAT文件加载到表中之前截断(或删除所有行) 我试过服从命令 mysql -h <servername>,<port-number> -u <username> -p <password> -e "DELETE from <DB_name>.<Schema_name>.<Table_na

在我的应用程序(Linux上)中,我每天都会收到一个.DAT文件,我应该将它加载到远程SQL server表中。根据要求,我应该在将.DAT文件加载到表中之前截断(或删除所有行)

我试过服从命令

mysql -h <servername>,<port-number> -u <username> -p <password> -e "DELETE from <DB_name>.<Schema_name>.<Table_name>"
mysql-h,-u-p-e“从..删除”
但它失败了

-ksh:mysql:notfound[没有这样的文件或目录]

我联系了我团队中的一位Linux专家,他找到了“mysql”,结果他解释说,mysql没有安装在本地Linux机器上

我还试过BCP

bcp "Delete from [DB_name].[schema_name].[table_name]" queryout  <output_file_full_path> -S <servername>,<port-number> -m 0 -e <error_file_full_path> -T -c -t '|'
bcp“从[DB_name].[schema_name].[table_name]删除”queryout-S,-m 0-e-T-c-T'|'
哪个失败了,显示下面的消息

正在开始复制。。。SQLState=S1000,NativeError=0错误= [Microsoft][ODBC驱动程序11 for SQL Server]BCP主机文件必须包含 至少有一列SQLState=S1000,NativeError=0错误= [Microsoft][SQL Server的ODBC驱动程序11]无法解析列 级别排序规则

我知道BCP查询需要将某些结果存储到文件中,但Delete不会返回任何结果,因此BCP失败


因此,我想知道是否有其他方法可以通过本地Linux机器从远程SQL表中删除数据

如果您试图连接到Microsoft SQL Server,我建议您使用sqlcmd/bcp+ODBC驱动程序

为此:

  • 从此处下载ODBC驱动程序:
  • 从以下位置下载sqlcmd/bcp工具:
重新启动Windows计算机并使用以下命令连接到SQL Server:

sqlcmd -S myserver -d Adventure_Works -U myuser -P myP@ssword -I
如果您想使用bcp,请查看以下示例:


如果您在Linux上,请遵循以下步骤:

那么,它是SQL Server还是MySQL?这是两种完全不同的产品,你不能只使用其中一种工具来连接另一种。请把标签修好。如果是MySQL,为什么不在那台机器上安装客户端工具呢?此外,截断通常比全部删除要快。嗨,萨米,很抱歉弄错了,编辑了这个问题。这是SQL server。所以我想我不能使用mysql-h,-u-p-e“DELETE from..”,让我知道我是否错了。同意截断比全部删除更好。现在,我正在寻找通过本地Linux机器截断远程Sql Server上的表的语法,该机器目前没有MYSQL。