0

私はASP.NET Webサイトで作業しています。データの追加、データのダウンロード、Excelへの変更などさまざまな機能があります。テーブルと変数がnvarcharとして設定されていても、Unicode文字を返さないストアドプロシージャ

ここでデータをダウンロードすると、いくつかのクエリを生成するストアドプロシージャが実行されます。このクエリは、データがExcelからダウンロードされる一時テーブルに挿入されます。これまでは、このシステムはユニコード符号化なしで動作していて、正常に動作していました。今では、特殊文字を処理できるようにシステムの機能を強化しています。すべてのテーブルのデータ型をnvarcharに変更し、サーバー上のASP.NETコード経由で撮影しているクエリにN 'を追加しました。しかし、ストアドプロシージャ内の変数のデータ型がnvarcharに変更されると、 '無効な構文の近く'というエラーが返されます。そこで、変数のデータ型をvarcharに保存しました。テーブルの列のデータ型はnvarcharです。データはダウンロードされますが、取得できますか?テーブルに特殊文字があった場所。

私はこのドメインで新しくなっており、長い間この問題に固執しています。

+0

問題は '' Invalid syntax near '' ''というエラーです。それを生成するコードは何ですか? –

答えて

0

それはこのように働いています:

if object_id('sample', 'U') is not null 
drop table sample; 
create table sample (
    text nvarchar(50) null 
) 

insert into sample(text) values (N'fööbää[email protected]?<*'); 
insert into sample(text) values (N'~©‚它©¨Ω†∑'); 

select * from sample; 

drop table sample; 

出力:あなたのコードの一部を投稿する

text 
----------- 
fööbää[email protected]?<* 
~©‚它©¨Ω†∑ 

、支援する方が簡単です。

関連する問題