0

そのため、ビルド プロセスの一部として osql を使用してストアド プロシージャを実行します。ビルド パックの一部としてアプリケーションと共に公開される sp フォルダーを含むプロジェクトを使用します。

Visual Studio を使用してこのプロジェクト構造を作成し、プロシージャで実行する SQL スクリプトを作成しました。

Visual Studio はファイルを UTF8 形式 (既定) で保存しました。osql をスクリプトで実行すると、すべてのスクリプトで 1 行目に構文エラーが発生するというエラーが表示されました。

> Incorrect syntax near '´'.     1> 2> Msg 102, Level 15, State 1,
> Server GBEPIAP-SQL01, Line 1

むしろ不可解。

ともかく; この問題を解決するには、SQL スクリプトを Unicode コードページ 1200 で保存できます ([ファイル] -> [高度な保存オプション])。

et voila - 問題は解決しました

今、私はさらに大きな問題を抱えています。開いてエンコーディングを変更し、新しいエンコーディングで保存する必要がある 200 以上の proc スクリプトがあります。

フォルダ内のすべてのファイルのエンコーディングを Unicode Codepage 1200 に変更する簡単なスクリプトを作成できる PowerShell の達人はいますか? 時間を節約しながら、私に好意を持っているでしょう。

4

1 に答える 1

1

最後に、ここに記載されているアプローチを使用しました

Visual Studio プロジェクトのすべてのファイルを UTF-8 として保存します

ただし、UTF8 の代わりに; ユニコードを指定しました。

foreach (var f in new DirectoryInfo(@"...").GetFiles("*.sql", SearchOption.AllDirectories)) {
  string s = File.ReadAllText(f.FullName);
  File.WriteAllText (f.FullName, s, Encoding.Unicode);
}
于 2013-04-29T11:55:01.653 に答える