jjzjj

c# - 检测是否安装了 SQLCMD.exe 的正确方法?

我正在创建一个类库,它将.SQL文件作为输入(FileInfo)和一个连接字符串。然后它尝试对连接执行sql文件。我决定支持微软的SMO和SQLCMD.exe在测试中,我注意到在我的环境中的许多机器上,SQLCMD没有默认安装。我的程序在尝试运行进程SQLCMD.exe时出错。在不搜索整个硬盘驱动器的情况下查找它的正确方法是什么?是否有一个通用的注册表位置来指定它是否已安装?通常在安装时,我认为设置了PATH位置。非常感谢。 最佳答案 我有一台配备64位SQLSERVER(2k8R2)的64位机器,我的SQLCMD.EXE位于c:\

c# - SQLCMD模式下的ServerConnection.ExecuteNonQuery

我正在使用MicrosoftData-TierApplicationframework基于DacPackage创建部署脚本目的。我正在尝试使用Microsoft.SqlServer.Management.Smo.Server执行此脚本的类...SqlConnectiondeployConnection=newSqlConnection(connBuilder.ToString());deployConnection.Open();Serverserver=newServer(newServerConnection(deployConnection));server.Connection

php - 使用 AJAX 会增加 PHP 的内存使用吗?

我认为这个问题的答案是否定的,但我没有更多的线索来解决我想弄清楚的问题。我最初只有一个脚本,它通过SQLCMD执行一些数据库查询。我现在决定通过AJAX启动此脚本并等待响应。但是我得到一个fatalerror:Fatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate445bytes)inC:\process_txt.phponline109我在我的脚本中唯一改变的是这个ajax请求,老实说,没有别的,这就是我问这个问题的原因。我使用JQueryAJAX请求,但我认为我没有使用轮询。这是我使用的AJAXGE

windows - 使用批处理文件和 Sqlcmd 进行错误处理

我有一个批处理文件,它使用sqlcmd运行一些SELECT查询,将结果放入文本文件,然后将这些文件上传到FTP服务器。这一切都按照它应该的方式工作,这就是我喜欢的工作方式。不过,我一直想知道如果出现错误我会怎么做。假设有人更改了我正在访问的数据库的数据结构,但没有通知我。如果我运行一个sqlcmdSELECT语句并将结果放入一个文本文件,我最终会得到一个包含错误的文本文件,然后它会直接进入FTP,就好像没有任何错误一样。(我已经测试过了。)我希望能够检查来自sqlcmd的错误——超时、错误的凭据、格式错误的查询等等,我只是不确定这是如何完成的或“最佳实践”是什么。我总是可以尝试抓取输出

sql-server - sqlcmd/Invoke-SqlCmd 中的转义变量

我正在使用powershell并使用Invoke-SqlCmd.我能够将变量传递给SQL:$variables=@("MyVariable='hello'")Invoke-SqlCmd`-ServerInstance'localhost'`-Database'master'`-Username'matthew'`-Password'qwerty'`-Query'SELECT$(MyVariable)ASfoo'`-Variable$variables这会按预期返回hello。但是,如果我有一个变量,其值包含一个等号(=):$variables=@("MyVariable='aGVsbG

sql-server - Centos : Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : TCP Provider: Error code 0x2749

我已经在Centos7上安装了MSSSQL。安装完成但是当我通过sqlcmd连接到SQL时它给出了以下错误。[root@S*03****k~]#sqlcmd-S127.0.0.1-Usa-PH*****3Sqlcmd:Error:MicrosoftODBCDriver13forSQLServer:Logintimeoutexpired.Sqlcmd:Error:MicrosoftODBCDriver13forSQLServer:TCPProvider:Errorcode0x2749.Sqlcmd:Error:MicrosoftODBCDriver13forSQLServer:Anetw

c# - 如何在执行完成后立即终止sqlcmd?

我在C#中创建了一个进程来执行sqlcmd/S/d/E/i运行创建表、View、存储过程的sql脚本。问题是执行完成后进程没有终止。我想知道如何在操作完成后立即终止sqlcmd。我可以指定sqlcmd的任何输入参数以立即终止进程,还是可以直接在C#中执行?更新这是我用来执行该过程的C#代码。foreach(varfileinfiles){////varbegin=DateTime.Now;////context.TrackBuildWarning(string.Format("Startexecsqlfileat{0}.",DateTime.Now));Processprocess=n

sql-server - 从 Docker 内部使用 sqlcmd 连接到 SQL Server 时出现问题

在docker容器中使用debianlinux。我的sqlcmd工作正常,并且安装了必要的驱动程序并且可以定位。我知道服务器存在:root@0feafecac36f:/home/shiny#nmap-p31010-sTxxx.xxx.xxx.xxxStartingNmap7.60(https://nmap.org)at2018-01-2520:46UTCNmapscanreportfornile-h.tmthk.org(xxx.xxx.xxx.xxx)Hostisup(0.019slatency).PORTSTATESERVICE31010/tcpfilteredunknownNmap

关于sql server:SQLCMD中如何使用TAB作为列分隔符

HowtouseTABascolumnseparatorinSQLCMDSQLCMD支持-s参数来指定列分隔符,但我不知道如何表示制表符(CHAR(9))字符。我尝试了以下方法,但都不起作用:12sqlcmd-SServerName-E-Q"select*frommytable"-s"\\t"-oresults.txtsqlcmd-SServerName-E-Q"select*frommytable"-s'\\t'-oresults.txt任何想法如何在SQLCMD中做到这一点?在批处理文件中,在双引号之间放置一个制表符是可行的。1sqlcmd-SServerName-E-Q"select*f

关于sql server:SQLCMD中如何使用TAB作为列分隔符

HowtouseTABascolumnseparatorinSQLCMDSQLCMD支持-s参数来指定列分隔符,但我不知道如何表示制表符(CHAR(9))字符。我尝试了以下方法,但都不起作用:12sqlcmd-SServerName-E-Q"select*frommytable"-s"\\t"-oresults.txtsqlcmd-SServerName-E-Q"select*frommytable"-s'\\t'-oresults.txt任何想法如何在SQLCMD中做到这一点?在批处理文件中,在双引号之间放置一个制表符是可行的。1sqlcmd-SServerName-E-Q"select*f