Mysql 如何通过本地Linux机器截断(删除所有行)远程SQL server上的表
在我的应用程序(Linux上)中,我每天都会收到一个.DAT文件,我应该将它加载到远程SQL server表中。根据要求,我应该在将.DAT文件加载到表中之前截断(或删除所有行) 我试过服从命令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
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工具:
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。