OSQL直接执行数据库SQL server 脚本文件
程序中直接执行SQL 脚本文件,通常是在进程中调用数据库命令行工具osql.exe,现在将调用方式和一些问题解决方案记录下来。

sqlserver外部命令工具,说白了就是微软作的一个exe程序可以连本机服务器或者其他服务器。我们在程序调用时只要找到执行所需的exe即可:
找到装有sql server 的路径
C:\Program Files\Microsoft SQL Server\140\Tools\Binn
找到两个文件osql.exe 、osql.rll 复制到程序文件夹下
代码中调用:

问题1
在调用过程中,执行文件路径,FileName引用绝对路径,此处产生问题1:
如果程序在数据服务器或者安装有可以连接SQL server 数据库工具的主机上对路径没有要求,因为osql 用到驱动 odbc sql server driver,安装数据库管理工具回安装此驱动。

但如果没有该驱动,则需要手动安装。绝对路径是保证能找到执行文件osql.exe。
我们正式环境下数据库和应用是分离的并不在一台服务器上,所以很多人在程序掉用中本地调试或者开发环境中很好用,陌生环境下无法使用而程序也无法捕获错误消息,通常是这个原因造成的。
问题2
我们在程序打包时会把osql 和写好的数据库脚本放到程序相对目录下,安装时默认路径通常在
C:\Prog

本文介绍了如何在程序中调用OSQL工具执行SQL Server脚本文件,包括解决绝对路径问题和在特定路径下读取文件的问题。在调用osql.exe时,需要确保目标环境已安装必要的驱动,并且在打包程序时,为脚本文件路径添加引号以解决路径包含特殊字符导致的读取问题。
最低0.47元/天 解锁文章
538

被折叠的 条评论
为什么被折叠?



