SQLSERVER环境下调用包含webservice引用的.net类库
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 最近做到一个项目,涉及到系统的集成。对于SSO单点登陆已经解决,但紧接着一个难点便是两个系统中基础数据的同步。项目情况大致如下: 系统AB都是采用SQLSERVER 2005 数据库的B/S系统。系统A的数据
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入
最近做到一个项目,涉及到系统的集成。对于SSO单点登陆已经解决,但紧接着一个难点便是两个系统中基础数据的同步。项目情况大致如下:
系统AB都是采用SQLSERVER 2005 数据库的B/S系统。系统A的数据库中数据未加密,系统B的数据库中数据为加密数据,且因商业合同关系,不能对B数据库进行任何直接操作。系统B提供有相应的webservice,可以用来同步基础数据。
为了解决这个问题,初步想法是将自动同步交给数据库来完成,小批量的数据修改、添加使用触发器,大量的修改、添加使用中间表和作业调度。
但这样做的难点就是如果调用webservice。在网上粗略浏览了一下资料,基本上是SQLSERVER调用类库的思路,这个和我之前做的一个数据加密项目类似,唯一不同的是以前的类库中没有webservice。
既然思路是对的,那么就开始动手。
1、先是利用VS2005创建了一个类库解决方案
2、引用要用到的webservice
3、在类文件中建立UserSynchronization和DepSynchronization类,分别用于同步用户和部门机构。
为了方便数据库调用,两个类的方法均为static,且每个类只提供一个主调用方法。以DepSynchronization类为例,供数据库调用的方法如下:
4、编译类库,在release下,生成了四个文件,其中有两个是DLL文件。
5、数据库中注册类,并映射调用函数。
在映射函数时出了一个问题,起初我将数据库函数的参数类型设为了varchar,引发了SQL-CLR类型不匹配,原来在C#中的string类型映射过来应该是nvarchar。另外提一下,bool映射到SQLSERVER2005应该是bit。
6、测试:
select dbo.SeeyonOperateDepart('Creater','service-admin','19840511suzhou','TEST2014','测试部门');
系统报错:
搜索相关资料后发现,编译时生成的另一个DLL文件,***.XmlSerializers.dll,是用来序列化和反序列化webservice引用的,必须注册到SQLSERVER。在可编程性-程序集中右键-新建程序集,将这个类注册。
7、再次测试OK

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









SQL Server データベースに既に存在する同じ名前のオブジェクトについては、次の手順を実行する必要があります。 オブジェクトの種類 (テーブル、ビュー、ストアド プロシージャ) を確認します。 IF NOT EXISTS を使用すると、オブジェクトが空の場合に作成をスキップできます。オブジェクトにデータがある場合は、別の名前を使用するか、構造を変更してください。既存のオブジェクトを削除するには、DROP を使用します (注意してください。バックアップを推奨します)。スキーマの変更をチェックして、削除または名前変更されたオブジェクトへの参照がないことを確認します。

インポート手順は次のとおりです。 MDF ファイルを SQL Server のデータ ディレクトリ (通常は C:\Program Files\Microsoft SQL Server\MSSQL\DATA) にコピーします。 SQL Server Management Studio (SSMS) でデータベースを開き、[アタッチ] を選択します。 「追加」ボタンをクリックして、MDF ファイルを選択します。データベース名を確認し、「OK」ボタンをクリックします。

Windows 回復環境 (WinRE) は、Windows オペレーティング システムのエラーを修復するために使用される環境です。 WinRE に入ると、システムの復元、出荷時設定へのリセット、アップデートのアンインストールなどを実行できます。 WinRE を起動できない場合、この記事では問題を解決するための修正方法を説明します。 Windows 回復環境を起動できない Windows 回復環境を起動できない場合は、以下の修正プログラムを使用してください。 Windows 回復環境のステータスを確認する 他の方法を使用して Windows 回復環境に入る Windows 回復パーティションを誤って削除しましたか?以下の Windows のインプレース アップグレードまたはクリーン インストールを実行します。これらすべての修正については詳しく説明しています。 1]Wiをチェックする

SQL Server サービスの開始に失敗した場合の解決手順は次のとおりです。 エラー ログを確認して、根本原因を特定します。サービス アカウントにサービスを開始する権限があることを確認してください。依存関係サービスが実行されているかどうかを確認します。ウイルス対策ソフトウェアを無効にします。 SQL Server のインストールを修復します。修復が機能しない場合は、SQL Server を再インストールします。

SQL Server のポート番号を表示するには: SSMS を開いてサーバーに接続します。オブジェクト エクスプローラーでサーバー名を見つけ、右クリックして [プロパティ] を選択します。 「接続」タブで、「TCP ポート」フィールドを表示します。

SQL Server データベース ファイルは、通常、次のデフォルトの場所に保存されます。 Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data データベース ファイルの場所は、データベース ファイル パスを変更することでカスタマイズできます。設定。

SQL Server データベースを誤って削除した場合は、次の手順を実行して回復できます: データベース アクティビティの停止、ログ ファイルのバックアップ、データベース ログの確認、回復オプション: バックアップからの復元、トランザクション ログからの復元、DBCC CHECKDB の使用、3 番目の使用パーティーツール。データ損失を防ぐために、データベースを定期的にバックアップし、トランザクション ログを有効にしてください。

SQL Server のインストールが失敗した場合は、次の手順に従ってクリーンアップできます。 SQL Server をアンインストールする レジストリ キーを削除する ファイルとフォルダーを削除する コンピューターを再起動する
