首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 数据库类的扩展:整合ConnectionString
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 10:10:36 楼主
    上次提供下载的代码,可以说是思路代码.
    我的编码效率低,一项功能的实现,要经过多次代码重编.
    一般的过程是:先看能不能实现,这个过种是思路代码;能实现了,是不是还有别的办法;最后才是全局整理,编应用代码.

    本贴是应用代码的一部分.实现获取SqlServer,Access,Excel,DBase,Text四种数据库不同连接方式下的连接字符串.

    相比思路代码(已供下载的),这里加多了一个DatasourceType枚举,用来对数据源的数据存放表现形式进行分类.


    下贴:Database基类的定义及派生各类数据库
    0  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 10:14:511楼 得分:0
    基本的分类定义

    VB.NET code
    Namespace LzmTW.uData ''' <summary> ''' 数据库类型 ''' </summary> Public Enum DatabaseType SQLServer Access DBase Excel Text Other End Enum End Namespace


    VB.NET code
    Namespace LzmTW.uData ''' <summary> ''' 数据库连接方式 ''' </summary> ''' <remarks></remarks> Public Enum ConnectionType OleDb Odbc SqlClient Other End Enum End Namespace


    VB.NET code
    Namespace LzmTW.uData ''' <summary> ''' 数据源存在方式 ''' </summary> Public Enum DatasourceType Catalog Path File Other End Enum End Namespace
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 10:23:022楼 得分:0
    资源文件ConnectionStrings.xml:数据库在不同连接方式下的字符串格式

    资源文件都存放在LzmTW.uData.Resources.dll中.该dll只存放资源.

    ConnectionStrings.xml
    XAML code
    <?xml version="1.0" standalone="yes"?> <dsResource xmlns="http://tempuri.org/dsResource.xsd"> <xs:schema id="dsResource" targetNamespace="http://tempuri.org/dsResource.xsd" xmlns:mstns="http://tempuri.org/dsResource.xsd" xmlns="http://tempuri.org/dsResource.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified"> <xs:element name="dsResource" msdata:IsDataSet="true" msdata:MainDataTable="http_x003A__x002F__x002F_tempuri.org_x002F_dsResource.xsd_x003A_ConnectionStrings" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="ConnectionStrings"> <xs:complexType> <xs:sequence> <xs:element name="DatabaseType" type="xs:string" /> <xs:element name="ConnectionType" type="xs:string" /> <xs:element name="ParametersCount" type="xs:string" /> <xs:element name="ConnectionstringFormat" type="xs:string" minOccurs="0" /> <xs:element name="providerInvariantName" type="xs:string" minOccurs="0" /> <xs:element name="DatasourceType" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> <xs:unique name="ConnectionStringsKey" msdata:PrimaryKey="true"> <xs:selector xpath=".//mstns:ConnectionStrings" /> <xs:field xpath="mstns:DatabaseType" /> <xs:field xpath="mstns:ConnectionType" /> <xs:field xpath="mstns:ParametersCount" /> </xs:unique> </xs:element> </xs:schema> <ConnectionStrings> <DatabaseType>SQLServer</DatabaseType> <ConnectionType>SqlClient</ConnectionType> <ParametersCount>4</ParametersCount> <ConnectionstringFormat>Data Source={0};Initial Catalog={1};User Id={2};Password={3};</ConnectionstringFormat> <providerInvariantName>System.Data.SqlClient</providerInvariantName> <DatasourceType>Catalog</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>SQLServer</DatabaseType> <ConnectionType>SqlClient</ConnectionType> <ParametersCount>2</ParametersCount> <ConnectionstringFormat>Data Source={0};Initial Catalog={1};Integrated Security=SSPI;</ConnectionstringFormat> <providerInvariantName>System.Data.SqlClient</providerInvariantName> <DatasourceType>Catalog</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>SQLServer</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>4</ParametersCount> <ConnectionstringFormat>Driver={{SQL Server}};Server={0};Database={1};Uid={2};Pwd={3};</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>Catalog</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>SQLServer</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>2</ParametersCount> <ConnectionstringFormat>Driver={{SQL Server}};Server={0};Database={1};Trusted_Connection=Yes;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>Catalog</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>SQLServer</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>4</ParametersCount> <ConnectionstringFormat>Provider=sqloledb;Data Source={0};Initial Catalog={1};User Id={2};Password={3};</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>Catalog</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>SQLServer</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>2</ParametersCount> <ConnectionstringFormat>Provider=sqloledb;Data Source={0};Initial Catalog={1};Integrated Security=SSPI;</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>Catalog</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>3</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft Access Driver (*.mdb)}};Dbq={0};Uid={1};Pwd={2};ExtendedAnsiSQL=1;Exclusive=0;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft Access Driver (*.mdb)}};Dbq={0};Uid=Admin;Pwd=;ExtendedAnsiSQL=1;Exclusive=0;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>3</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};User Id={1};Password={2};</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};User Id=Admin;Password=;</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Excel</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft Excel Driver (*.xls)}};DriverId=790;Dbq={0};ReadOnly=0;fil=excel 8.0;maxbuffersize=2048;pagetimeout=5;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Excel</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;ReadOnly=0;";</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>DBase</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft dBASE Driver (*.dbf)}};DriverID=277;Dbq={0};</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>Path</DatasourceType> </ConnectionStrings>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 10:24:453楼 得分:0

    XML code
    <ConnectionStrings> <DatabaseType>DBase</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=dBASE IV;User ID=Admin;Password=;</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>Path</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Text</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft Text Driver (*.txt; *.csv)}};Dbq={0};FIL=text;DriverId=27;Extensions=asc,csv,tab,txt;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>Path</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Text</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>2</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="text;HDR=Yes;FMT={1}";</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>Path</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access2007</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>3</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={0};Uid={1};Pwd={2};ExtendedAnsiSQL=1;Exclusive=0;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access2007</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>3</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};User Id={1};Jet OLEDB:Database Password={2};</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Excel2007</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}};DriverId=1046;Dbq={0};ReadOnly=0;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Excel2007</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;ReadOnly=0;""</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access2007</DatabaseType> <ConnectionType>Odbc</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={0};Uid=Admin;Pwd=;ExtendedAnsiSQL=1;Exclusive=0;</ConnectionstringFormat> <providerInvariantName>System.Data.Odbc</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> <ConnectionStrings> <DatabaseType>Access2007</DatabaseType> <ConnectionType>OleDb</ConnectionType> <ParametersCount>1</ParametersCount> <ConnectionstringFormat>Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};User Id=Admin;Jet OLEDB:Database Password=;</ConnectionstringFormat> <providerInvariantName>System.Data.OleDb</providerInvariantName> <DatasourceType>File</DatasourceType> </ConnectionStrings> </dsResource>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 10:27:274楼 得分:0
    用表格表示以上表.需IE7浏览.

    XML code
    ┌────────────┬──────────────┬────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────────┐ │DatabaseType│ConnectionType│ ParametersCount│ ConnectionstringFormat │ providerInvariantName│DatasourceType│ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │SQLServer │SqlClient │ 4│Data Source={0};Initial Catalog={1};User Id={2};Password={3}; │System.Data.SqlClient │Catalog │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │SQLServer │SqlClient │ 2│Data Source={0};Initial Catalog={1};Integrated Security=SSPI; │System.Data.SqlClient │Catalog │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │SQLServer │Odbc │ 4│Driver={{SQL Server}};Server={0};Database={1};Uid={2};Pwd={3}; │System.Data.Odbc │Catalog │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │SQLServer │Odbc │ 2│Driver={{SQL Server}};Server={0};Database={1};Trusted_Connection=Yes; │System.Data.Odbc │Catalog │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │SQLServer │OleDb │ 4│Provider=sqloledb;Data Source={0};Initial Catalog={1};User Id={2};Password={3}; │System.Data.OleDb │Catalog │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │SQLServer │OleDb │ 2│Provider=sqloledb;Data Source={0};Initial Catalog={1};Integrated Security=SSPI; │System.Data.OleDb │Catalog │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access │Odbc │ 3│Driver={{Microsoft Access Driver (*.mdb)}};Dbq={0};Uid={1};Pwd={2};ExtendedAnsiSQL=1;Exclusive=0; │System.Data.Odbc │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access │Odbc │ 1│Driver={{Microsoft Access Driver (*.mdb)}};Dbq={0};Uid=Admin;Pwd=;ExtendedAnsiSQL=1;Exclusive=0; │System.Data.Odbc │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access │OleDb │ 3│Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};User Id={1};Password={2}; │System.Data.OleDb │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access │OleDb │ 1│Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};User Id=Admin;Password=; │System.Data.OleDb │File │ └────────────┴──────────────┴────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────────┘
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 10:28:285楼 得分:0

    XML code
    ┌────────────┬──────────────┬────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────────┐ │DatabaseType│ConnectionType│ ParametersCount│ ConnectionstringFormat │ providerInvariantName│DatasourceType│ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Excel │Odbc │ 1│Driver={{Microsoft Excel Driver (*.xls)}};DriverId=790;Dbq={0};ReadOnly=0;fil=excel 8.0;maxbuffersize=2048;pagetimeout=5; │System.Data.Odbc │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Excel │OleDb │ 1│Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;ReadOnly=0;"; │System.Data.OleDb │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │DBase │Odbc │ 1│Driver={{Microsoft dBASE Driver (*.dbf)}};DriverID=277;Dbq={0}; │System.Data.Odbc │Path │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │DBase │OleDb │ 1│Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=dBASE IV;User ID=Admin;Password=; │System.Data.OleDb │Path │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Text │Odbc │ 1│Driver={{Microsoft Text Driver (*.txt; *.csv)}};Dbq={0};FIL=text;DriverId=27;Extensions=asc,csv,tab,txt; │System.Data.Odbc │Path │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Text │OleDb │ 2│Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="text;HDR=Yes;FMT={1}"; │System.Data.OleDb │Path │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access2007 │Odbc │ 3│Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={0};Uid={1};Pwd={2};ExtendedAnsiSQL=1;Exclusive=0; │System.Data.Odbc │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access2007 │OleDb │ 3│Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};User Id={1};Jet OLEDB:Database Password={2}; │System.Data.OleDb │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Excel2007 │Odbc │ 1│Driver={{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}};DriverId=1046;Dbq={0};ReadOnly=0; │System.Data.Odbc │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Excel2007 │OleDb │ 1│Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;ReadOnly=0;"" │System.Data.OleDb │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access2007 │Odbc │ 1│Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={0};Uid=Admin;Pwd=;ExtendedAnsiSQL=1;Exclusive=0; │System.Data.Odbc │File │ ├────────────┼──────────────┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────────┤ │Access2007 │OleDb │ 1│Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};User Id=Admin;Jet OLEDB:Database Password=; │System.Data.OleDb │File │ └────────────┴──────────────┴────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────────┘
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 10:35:426楼 得分:0
    ConnectionStrings.xml作为嵌入资源存放在LzmTW.uData.Resources.dll里.
    在主项目LzmTW.uData里,利用xsd.exe工具上创建强类型数据集dsResources,这部分代码略.

    读取资源:
    VB.NET code
    Namespace LzmTW.uData Friend Class dsResource Private Shared staticInstance As dsResource Public Shared ReadOnly Property Instance() As dsResource Get If staticInstance Is Nothing Then SyncLock InternalSyncObject If staticInstance Is Nothing Then Dim file As String = Global.System.IO.Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "LzmTW.uData.resources.dll") Dim ass As Reflection.Assembly = Reflection.Assembly.LoadFrom(file) Dim ds As New dsResource Dim manifestResourceStream As Global.System.IO.Stream manifestResourceStream = ass.GetManifestResourceStream("LzmTW.uData.Resources.DataTypeDefault.xml") ds.ReadXml(manifestResourceStream) manifestResourceStream = ass.GetManifestResourceStream("LzmTW.uData.Resources.DbTypeFormat.xml") ds.ReadXml(manifestResourceStream) manifestResourceStream = ass.GetManifestResourceStream("LzmTW.uData.Resources.ConnectionStrings.xml") ds.ReadXml(manifestResourceStream) manifestResourceStream.Dispose() staticInstance = ds