通过批处理在 Sybase 中运行大量 SQL 脚本
Posted
技术标签:
【中文标题】通过批处理在 Sybase 中运行大量 SQL 脚本【英文标题】:Running bulk of SQL Scripts in Sybase through batch 【发布时间】:2013-04-30 12:41:23 【问题描述】:我使用下面的代码(作为 .bat 文件)递归地执行大量 .sql 文件,使用 SQL SERVER 2008 R2 作为后端:
for /R %%G in (*.sql) do sqlcmd /S [Database Server] /d [Database name] -U [Username] - P[Password] -i"%%G"
pause
现在,我必须执行大量的 sql 脚本,但这次是 Sybase 作为后端。
请建议我应该做哪些修改才能使其运行在“Sybase”上!!
【问题讨论】:
您正在运行什么 Sybase 产品? 【参考方案1】:Sybase 的连接字符串非常相似
isql -U [username] -P [password] -S [servername] -D [dbname] -i [scriptname]
所以你的脚本看起来像:
for /R %%G in (*.sql) do isql -S ServerName -D DbName -U Username -P Password -i"%%G"
pause
它应该只需要很少的改动就可以在 Sybase 和 SQLServer 上运行。
【讨论】:
只是一个查询..在 sql server 中我们不使用端口号连接到数据库服务器,但在 sybase 中我们使用端口号..所以我是否需要在我的 .bat 中添加它文件,如果是,那么如何? 您的系统上是否安装了 Sybase 客户端?如果是这样,那么您需要将服务器信息(服务器名、主机名、端口号)放在 sql.ini 文件中,该文件通常位于 Sybase 主目录中。 isql 使用它来将 -S[ServerName] 值解析为主机/端口。以上是关于通过批处理在 Sybase 中运行大量 SQL 脚本的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2008,Sybase - 低带宽上的大型选择查询
sybase数据库 如何使用sql语句查询,数据库容量大小和数据库使用量大小
我们正在使用Sybase / ODBC如何在运行长批量SQL查询时处理断开连接?
sybase 如何像SQL SERVER一样建立作业,让他能定时运行存储过程
尝试在 .net core web api 上运行 ASE sql (sybase) 时出错“不允许发送或接收数据的请求......”