代码之家  ›  专栏  ›  技术社区  ›  Sathish Guru V

从VB6代码中使用各种DDL命令和INSERT操作运行SQL文件

  •  0
  • Sathish Guru V  · 技术社区  · 9 年前

    我有一个VB6应用程序,它将BAK文件恢复到数据库并运行一些脚本。

    由于要运行大量SQL脚本,我决定将所有脚本移到一个SQL文件中,然后从应用程序运行它。

    SQL文件现在填充了大量CREATE、UPDATE Table语句以及INSERT语句。我同时使用SQL Server 2008 R2和SQL Server 2012。

    是否有一种方法或函数可以从VB6代码中执行相同的操作?

    提前感谢您的帮助。

    编辑1 :SQL文件还具有CREATE过程和触发器

    1 回复  |  直到 9 年前
        1
  •  1
  •   Community Egal    7 年前

    可以使用以下命令行运行SQL脚本

    sqlcmd -S myServer\instanceName -i C:\myScript.sql
    

    (参见 https://msdn.microsoft.com/en-us/library/ms170572.aspx )

    在VB6中,可以使用Shell命令执行命令行字符串,例如启动Windows计算器:

    Shell "C:\WINDOWS\System32\calc.exe", vbNormalFocus
    

    有关Shell命令的详细信息,请参见: https://msdn.microsoft.com/en-us/library/aa242087.aspx How do I call a Windows shell command using VB6?

    组合应该能满足您的需要,如下所示:

    Shell "sqlcmd -S myServer\instanceName -i C:\myScript.sql", vbNormalFocus
    

    我看到本文中有大量关于SQLCMD的有用信息 https://www.simple-talk.com/sql/sql-tools/sql-server-sqlcmd-basics/ 这可能是有用的读数。