我们正在构建一个企业应用程序,我们将在其中整合多个用户界面平台(即ASP.net webapp,Windows应用程序,有朝一日,移动应用程序)和多个后端数据库平台(即SQL Server,XML,Oracle).另一个必要条件是这些后端数据库要么集中存储,要么通过Web访问,要么本地化在客户端计算机上,偶尔也会同步到中央服务器.
任何人都可以就如何抽象用户界面层和数据层提出建议,以便我们可以更简单地在各种UI和DB的各种选择之间创建即插即用的适应性?例如:在一种情况下,我们可能有一个通过互联网在中央服务器上运行的网络应用程序,我们可能有远程机器通过Windows应用程序运行本地化副本.在预定的时间间隔,我们希望所有机器都同步,以便它们都可以拥有接近实时的数据.
我们还需要有关处理所涉及的各种连接字符串的建议,以便在任何一个应用程序上需要更改的唯一设置将是"本地"或"远程",这将确定必要的连接字符串.
.net abstraction design-patterns connection-string database-connection
我正在使用Microsoft.Practices.EnterpriseLibrary数据库工具,我只使用连接字符串信息创建新数据库时遇到问题.
理想情况下,我想做以下事情:
Database dbEngine = DatabaseFactory.CreateDatabase(
"Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;");
Run Code Online (Sandbox Code Playgroud)
是否可以仅使用连接字符串创建数据库?
如果是这样,怎么能实现呢?
database connection-string enterprise-library database-connection
可能是一个C#noob问题,所以不要激怒我.我试图这样做:
if (ConfigurationManager.ConnectionStrings["PrimaryConnectionString"].ConnectionString != null)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
但我一直得到一个System.NullReferenceException.我想,因为它返回一个我可以检查null并继续前进的字符串.我花了一段时间才找到正确的方法:
ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings["PrimaryConnectionString"];
if (cs != null)
{
this.Connection.ConnectionString = cs.ConnectionString;
}
Run Code Online (Sandbox Code Playgroud)
所以在其他情况下,比如检查Session对象的某些值,我会null像这样检查:
if (Session["EmployeeID"] != null)
{
_EmployeeID = System.Convert.ToInt32(Session["EmployeeID"]);
}
Run Code Online (Sandbox Code Playgroud)
所以我只是想知道你怎么知道什么时候能做或不能做检查null?
我在这里看到一篇关于我想做什么的非常好的帖子,
它说要使用ConfigurationManager类.我无法引用ConfigurationManager类.
如果我查看我正在使用的system.dll(即v2.0.50727),则没有ConfigurationManager类.
我正在使用VS 2008,我的项目设置为.NET 3.5编译.
如果我这样做,
string test = System.Configuration.ConfigurationManager.AppSettings["test"];
Run Code Online (Sandbox Code Playgroud)
我收到消息'错误182类型或命名空间名称'ConfigurationManager'在名称空间'System.Configuration'中不存在(你错过了程序集引用吗?)'
有任何想法吗?
在我的所有VB6应用程序中,连接信息都存储在数据库中的加密字段中.没有人可以访问数据库,如果有人这样做,他们只能看到一堆加密值.
这种方法总是存在缺陷.使用应用程序中的硬编码ID /密码获取所需的连接信息,以获取此连接信息并形成字符串.
在.NET世界中,我目前将这个硬编码的id /密码存储在app.exe.config文件中.推荐的方法是加密文件中的连接字符串?
我可以使用哪些类来执行此加密/解密?
我在窗口应用程序中从app_config读取连接字符串时收到此异常"配置系统无法初始化"
string con = ConfigurationSettings.AppSettings["ConnectionString"].ToString();
Run Code Online (Sandbox Code Playgroud)
输入以下行后在此行上
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Run Code Online (Sandbox Code Playgroud)
在AssemblyInfo.cs中.如果我从Assemblyinfo.cs中删除这一行,那么我没有异常我添加此程序集用于记录目的
我一直在寻找答案,因为有许多类似的问题,但没有找到这个特殊情况.
我有一个SQL服务器和一个访问文件(前端).此Access文件具有与SQL Server链接的链接表,每次尝试打开一个表时,都会出现一个询问用户和密码的提示.
好的,这是完美的,因为它(几乎)是我想要的行为.
此外,还有一个本地表,其中包含加密密码的用户/密码.每次用户打开文件时,他/她的传递都会被解密,我想打开一个连接,因此链接表不会要求传递.
有人知道如何编码这种连接吗?
提前致谢!
我需要连接到godaddy上的数据库并插入一些值.所有代码都已就绪,它可以在localhost上运行.但是我不知道如何连接到在线数据库.我在他们的Web界面上创建数据库时选择了远程主机选项.
它不适用于localhost,因为它们显然不在同一台服务器上托管.
具体而言,我需要知道的是我需要写的内容.
$con = mysql_connect("WHATINEEDTOWRITE","username","password");
//note that mysql_connect is just given as an example to help clarify the situation.
Run Code Online (Sandbox Code Playgroud)
谢谢.
大家好,我的Content Delivery服务器有问题。如果不删除主数据库,我们将无法删除它。我们当前的信息如下:
Sitecore.NET 6.5.0 (rev. 111230)
December 30, 2011
.NET Framework 4.0.30319.239
Database version: 500
Run Code Online (Sandbox Code Playgroud)
我们收到的错误和堆栈跟踪为:
[InvalidOperationException: Unknown connection string. Name: 'master']
Sitecore.Configuration.Settings.GetConnectionString(String connectionStringName) +364
Sitecore.Configuration.Factory.CreateFromConnectionStringName(XmlNode configNode, String[] parameters, Boolean assert) +106
Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +164
Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] parameters, Boolean assert) +110
Sitecore.Configuration.Factory.GetConstructorParameters(XmlNode configNode, String[] parameters, Boolean assert) +209
Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode configNode, String[] parameters, Boolean assert) +94
Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +141
Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert) +424
Sitecore.Configuration.Factory.CreateFromReference(XmlNode configNode, …Run Code Online (Sandbox Code Playgroud) 让我们直截了当.我有这样的接口和类:
public interface IDataBase
{
DataTable GetSomeTableData();
}
Run Code Online (Sandbox Code Playgroud)
我的课:
public class DataBase : IDataBase
{
private readonly string _connectionString;
public DataBase(string connectionString)
{
this._connectionString = connectionString;
}
public DataTable GetSomeTableData()
{
using (SqlConnection cn = new SqlConnection(_connectionString))
{
cn.Open();
// some select
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Autofac注入该类:
var builder = new ContainerBuilder();
builder.RegisterType<DataBase>().As<IDataBase>).WithParameter("connectionString", "my connection string");
var container = builder.Build();
var database = container.Resolve<IDataBase>();
var tableData1 = database.GetSomeTableData();
// change connection string ?????????????????
var tableData2 = database.GetSomeTableData();
Run Code Online (Sandbox Code Playgroud)
我需要从一个DB和另一个DB获取表数据.如何在注册课程后更改连接字符串?你可以给另一个exapmle ..