問題タブ [osql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
725 参照

batch-file - ユーザーが変数を入力するための .bat 確認を追加する

こんにちは、フォーラムの助けを借りてスクリプトを編集しています。最後のセクションを 1 つだけ追加する必要があります。行が挿入されたかどうかを .BAT ファイルを実行しているユーザーに示す必要がありますか? 誰か私がこれを磨くのを手伝ってくれませんか?幸せな男として家に帰ることができます!

0 投票する
1 に答える
262 参照

sql - NAnt で例外をキャッチしてロールバック スクリプトを実行する方法はありますか?

NAnt を使用して、展開用のいくつかのスクリプトを実行しています。プロセスが大幅に簡素化されました。問題は、エラーが発生したときに、NAnt タスクでロールバック スクリプトを実行することです。ただし、タスクのエラーで失敗するオプションしか知りません。エラー時にプロパティを設定したり、前のタスクが失敗した場合に the selected ステートメントを使用してタスクのフローをリダイレクトしたりする方法はありますか?

0 投票する
1 に答える
1095 参照

batch-file - バッチで作成されたosqlバックアップに日付を追加

このフォーラムを高く評価し、オンラインで非常に多くのボランティアが参加していることをうれしく思います。

私はバッチに慣れていないので、誰かが親切に答えてくれるかもしれません。とても感謝しています。

osql を使用して多くの sql db をバックアップし、日付 (および時刻) を追加して名前を変更します (.bak から .dat もオプションです)。すべてのコードを 1 つのバッチにまとめて、スケジュールできるようにします。

osqlを使用してsql dbをバックアップする方法を見つけましたが、正常に機能します。また、バッチコードでファイルの名前を変更する方法も見つかりました。これも正常に機能します。

しかし、それらのうちの2つを結合しようとすると、ファイルはバックアップされますが、名前の変更部分はありません。立ち往生していて、この穴から抜け出せないようです。誰か助けてくれませんか、お願いします、私の目はその障害物を見渡すことができません。

前もって感謝します

0 投票する
2 に答える
3375 参照

powershell - osqlまたはsqlcmdを呼び出すときのpowershell$LastExitCode -1073741502

sqlcmd.exeを呼び出してリモートSQLサーバーに対してSQLスクリプトを実行するPowerShellスクリプトを作成しました。PowerShellスクリプトは$LASTEXITCODEをチェックします。$ LASTEXITCODEがゼロ以外の場合、「スクリプトが失敗しました。戻りコードは$LASTEXITCODEです。」をスローします。

このスクリプトは、さまざまなSQLスクリプトを実行するために複数回使用され、展開中に実行される一連のPowerShellスクリプトの一部です。

スクリプトはほとんどの場合正常に実行されますが、戻りコード-1073741502でランダムに失敗します。

これはSQL2008にアップグレードした後にのみ発生し始めており、単一のPowerShellスクリプトを手動で実行するかsqlcmdスクリプトを手動で実行しても再現できません。

これはPowerShellコマンドです。

&'sqlcmd.exe' -S $ databaseServer -r -b -E -i'$ scriptFullPath'

if($ LASTEXITCODE -ne 0){throw"スクリプトが失敗しました。戻りコードは$LASTEXITCODEです。" }

一見ランダムな失敗の性質が多くの苦痛を引き起こしています。エラーがSQL2008なのか、SQLCMDなのか(osql.exeでも同じ動作が得られますが)、または何らかの形でPowerShellに結合されているのかどうかを判断できません。

sqlcmdが実行している実際のSQLは、SQLスクリプトがしばらくの間正常に実行されてから失敗するため、問題とは無関係のようです。

同じ障害が多くの異なるワークステーションとサーバー(Win7、Win2003、およびWin2008)で見られました。

これを追跡する方法についてのガイダンスをいただければ幸いです。

0 投票する
0 に答える
559 参照

sql-server - OSQL スクリプト ファイル実行エラー

クエリ アナライザーで開いて実行すると、完全に機能するスクリプト ファイル (実際には一連のファイル..) があります。

OSQLコマンドで実行すると、存在することがわかっているDBが見つからないと言って失敗します...

それでも、Q/A で同じ開始状態の DB で同じスクリプトを実行すると、100% 動作します。

もう1つ、OSQLが失敗していると言っている行は、行54の「BACKUP ...」です。

0 投票する
1 に答える
2493 参照

sql-server - TSQLのスクリプトをロードするMySQLのSOURCEコマンドと同等ですか?

MySQL では、次のようなコマンドを発行できます。

このsourceステートメントは、外部スクリプトをロードして実行します。

SQL Server で同等のものは何ですか?

0 投票する
3 に答える
1386 参照

sql - カプセル化されたテキストフィールドを持つBCP / sqlcmd / osql?

これらのコマンド ライン ツールは、次のように .csv にエクスポートできますか。

等?

ビューまたはストアド プロシージャを使用して二重引用符をハックしたくありません:)

0 投票する
1 に答える
1213 参照

sql - バッチの OSQL コマンド、レコードに複数のチャンクを挿入する方法

OSQL (SQL Server 2000) を使用しており、html ソースを 8xxx バイトのデータに分割するバッチ ファイルがあります。チャンクをSQLレコードに戻すにはどうすればよいですか? 詳細は次のとおりです。

osql ステートメントのバッチ ファイル:

すべての変数 %Body_Html% は 8k スタックに収まりますが、%body_html% のデータは 8k より大きい (最大 50k) ため、スタックに収まるように「チャンク」する必要があります。以下は、レビュー用のチャンク ルーチンの一部です (これについては jeb と dbenham に感謝します)。

では、チャンク ルーチンを osql ルーチンとマージするにはどうすればよいでしょうか。おそらくいくつかの FOR ループをネストする必要があることはわかっていますが、上記のパラメーターに基づいてこれを行う方法を考えることができません。

とチャンクは、ここで見つけることができます: http://www.oldskool.org/pc/chunk

編集:したがって、osqlループでロジックを別の方法で考える必要があるように思われるかもしれません.1)複数の変数を読み取るか、2)変数 %body_html% としてoqsl結果ファイル(sqloutput. rpt)

次のようにエコーステートメントを分割する必要があります:

きれいではありませんが、今はうまくいくかもしれないと思います。後で私の結果を投稿します。

0 投票する
3 に答える
3583 参照

sql-server - osql vs Invoke-Sqlcmd -- 後者の出力のリダイレクト

osql を呼び出すバッチ ファイルから、Invoke-Sqlcmd コマンドレットを使用する Powershell スクリプトに移行しています。

osql で -o フラグを使用して、後者の場合に出力をリダイレクトするための同等の手順を知っている人はいますか? osql 出力ファイルを見て、それに応じて動作するいくつかの後処理手順があります (これらのログが X バイトを超える場合はエラーを報告します)。Invoke-Sqlcmd が、同じ SQL コマンドが入力された場合に同じ出力情報を複製できれば、非常に気に入っています。

現在、スクリプトで を呼び出す予定ですInvoke-Sqlcmd <...> | Out-file -filepath myLog.log。これが大丈夫か、理にかなっているのか誰にもわかりますか?

0 投票する
2 に答える
2746 参照

sql - osql.exeを介したスクリプトの実行に関する問題

私は自分のソフトウェアの更新スクリプトを次の形式で実行しようとしています。

osql.exe -i "path \ to \ script" -U "user" -P "Password" -S"SQLserverの場所"-d"データベース名"-n-b

ほとんどのスクリプトは同じ形式であり、すべてGOで終わります。それらの多くは問題なく実行されますが、ランダムスクリプトは常にエラーを返し、実行されません。エラーは「1行目の「∩」の近くの構文が正しくありません。スクリプトはINSERTのように単純な場合がありますが、常にこのエラーです。オンラインで役立つものが見つからないようです。誰かが何か洞察を提供できますか?

スクリプトは手動で問題なく実行されます。また、新しいテキストドキュメントを作成し、スクリプトを新しいファイルに貼り付けて.sqlに変更し、そのファイルを実行すると、問題なく動作することも興味深い点です。すべての「壊れた」スクリプトに対してこれを実行しますが、新しいスクリプトでも引き続き発生し、最終的には変更されたスクリプトでも発生します。