标签: connection-string

从物理文件到Application对象(ASP.NET)读取连接字符串的优缺点?

我的ASP.NET应用程序读取xml文件以确定它当前所处的环境(例如本地,开发,生产).

它每次打开与数据库的连接时都会检查此文件,以便知道从应用程序设置中获取哪个连接字符串.

我正在进入一个发展阶段,效率正在成为一个问题.我不认为在我希望访问数据库的过程中(非常经常)读取物理磁盘上的文件是个好主意.

我正在考虑在Application ["ConnectionString"]中存储连接字符串.所以代码就是

public static string GetConnectionString
        {
            if (Application["ConnectionString"] == null)
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(HttpContext.Current.Request.PhysicalApplicationPath + "bin/ServerEnvironment.xml");
                XmlElement xe = (XmlElement) xnl[0];

                switch (xe.InnerText.ToString().ToLower())
                {
                    case "local":
                        connString = Settings.Default.ConnectionStringLocal;
                        break;

                    case "development":
                        connString = Settings.Default.ConnectionStringDevelopment;
                        break;

                    case "production":
                        connString = Settings.Default.ConnectionStringProduction;
                        break;

                    default:
                        throw new Exception("no connection string defined");
                }
                Application["ConnectionString"] = connString; 
            }
            return Application["ConnectionString"].ToString();
        }
Run Code Online (Sandbox Code Playgroud)

我没有设计应用程序所以我认为每次都必须有一个读取xml文件的原因(在应用程序运行时更改设置?)我对这里的内部工作概念很少.优缺点都有什么?您是否认为通过实施上述功能可以获得较小的性能提升?

谢谢

asp.net performance connection-string application-settings

1
推荐指数
1
解决办法
369
查看次数

.csv的ADODB连接字符串

我想在Excel VBA中使用ADODB处理.csv文件.我尝试在网上找到一些字符串,但它们似乎都没有用.我正在使用以下文件路径:

strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")
Run Code Online (Sandbox Code Playgroud)

然后我strVFile作为参数传递给sub objReport.Load strVFile.子标题是:Public Sub Load(ByVal strFilename As String).

然后我尝试使用字符串进行ADODB连接:

pconConnection.ConnectionString = _
            "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFilename & _
            ";Extended Properties=""text;HDR=Yes;FMT=Delimited(;)"";Persist Security Info=False"
    pconConnection.Open
Run Code Online (Sandbox Code Playgroud)

当我运行宏并选择CSV文件时,出现错误,说"给定路径不是有效路径".我究竟做错了什么?

编辑(代码),

模块mdlReport

Public Sub Report()
    Dim objReport As clsReport


    MsgBox "Please select .csv file", vbInformation + vbOKOnly
    strVFile = Application.GetOpenFilename("CSV (*.csv), *.csv")

    If strVFile <> False Then
        Set objReport = New clsReport

        objReport.Load strVFile

    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

类clsReport

Private pconConnection As ADODB.Connection …
Run Code Online (Sandbox Code Playgroud)

excel vba connection-string adodb

1
推荐指数
1
解决办法
2万
查看次数

动态使用Ninject连接到不同的数据库

我有一个使用Ninject连接到单个数据库的MVC应用程序.现在我需要支持多个数据库.目前,我的global.asax.cs文件对ninject有以下定义:

    protected void Application_Start() 
    { 
        AreaRegistration.RegisterAllAreas(); 
        RegisterRoutes(RouteTable.Routes); 

        //Using DI for controllers - use the Ninject custom controller factor 
        ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory()); // Repository config is defined in ninject controller 
    }
Run Code Online (Sandbox Code Playgroud)

这是我的Ninject控制器类的样子:

public class NinjectControllerFactory : DefaultControllerFactory 
{ 
    private IKernel kernel = new StandardKernel(new EriskServices()); 

    protected override IController GetControllerInstance(RequestContext context, Type controllerType) 
    { 
        if (controllerType == null) 
            return null; 
        return (IController)kernel.Get(controllerType); 
    } 

    private class EriskServices : NinjectModule 
    { 
        public override void Load() 
        { 
            Bind<IRisksRepository>().To<MySql_RisksRepository>() 
                .WithConstructorArgument("connectionString", ConfigurationManager.ConnectionStrings["mydb1"].ConnectionString); 
        } 
    } 
}
Run Code Online (Sandbox Code Playgroud)

我还有一个处理用户身份验证的登录页面.它通过LDAP完成,不需要数据库连接.

我的问题是:我可以在用户身份验证登录页面之后绑定ninject connectionString吗?用户将拥有他们想要连接的数据库的下拉列表,例如"mydb1"或"mydb2"或"mydb3".每个连接字符串都将在web.config文件中定义. …

asp.net-mvc connection-string ninject

1
推荐指数
1
解决办法
2984
查看次数

SQLServerCE DefaultConnectionFactory

我正在使用Entity Framework 4.1并尝试连接到MVC Web应用程序内的新SQLServerCE 4.0数据库.我正在使用此代码

Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0", "|DataDirectory|", "test.sdf");
Run Code Online (Sandbox Code Playgroud)

它引发了这个例外:

初始化字符串的格式不符合从索引86开始的规范.

这段代码出了什么问题?

如果我使用

Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0")
Run Code Online (Sandbox Code Playgroud)

它工作并创建一个数据库,其名称与我的程序集名称相匹配.

connection-string sql-server-ce

1
推荐指数
1
解决办法
2052
查看次数

如何在我的C#-NUNIT项目中使用对象ConnectionStringSettings和ConfigurationManager?

我正在尝试应用此问题中提出的解决方案:在nunit测试中使用connectionstring,但似乎无法在新Framework 4.5中找到ConnectionStringSettingsConfigurationManager对象。

我添加了命名空间:System.Configuration。凡acording 微软文档应该是。但是Visual Studio仍然找不到它。

这里有人可以帮我吗?

c# nunit connection-string

1
推荐指数
1
解决办法
3043
查看次数

ConnectionString中的可变密码

我创建了连接字符串:

connection.ConnectionString = @"Provider=abcdef; Server=123....; Database=abc; User Id=user; Password=xyz"; 
Run Code Online (Sandbox Code Playgroud)

它工作得很好.我想用变量交换密码:

connection.ConnectionString = @"Provider=abcdef; Server=123....; Database=abc; User Id=user; Password="+textBox1.Text;
Run Code Online (Sandbox Code Playgroud)

我的程序显示错误:

用户登录失败:user ...(textBox.Text ="xyz")

你知道如何正确地用变量交换密码吗?

c# connection-string

1
推荐指数
1
解决办法
269
查看次数

尽管连接字符串,Postgres超时20-30秒?

我正在尝试使用名为AutoTag的产品进行一些非常基本的查询.

我的PostgreSQL是本地安装的(非常强劲的机器,SSD,16GB RAM,等等).

其中一个表有4000多万条记录(并且将会增长).我正在尝试做一个简单的查询,当从Postgres管理工具完成时,需要4-5分钟才能运行.

我的连接字符串尝试的变化是:

PORT = 5432; CommandTimeout = 5000 ; TIMEOUT = 1024; POOLING = True; MINPOOLSIZE = 1; MAXPOOLSIZE = 20; COMMANDTIMEOUT = 20 ; COMPATIBLE = 2.2.0.0; HOST = localhost; DATABASE = HistoricalData; USER ID = postgres; PASSWORD = passwordhere

连接器(Windows环境)是:NpgsqlDdexProvider-2.2.0-VS2013 ...位于:https: //github.com/npgsql/Npgsql/releases (使用由同一站点提供的"可安装"版本) AutoTag制造商WIndward无法解决的"大会"烦恼)

每次尝试使用AutoTag在Excel中进行查询都会导致 appx 20-30秒出现明显的超时,我会在下面粘贴,尽管上面有我的连接字符串(尝试TIMEOUT = 0,不会连接..尝试没有TIMEOUT,不没问题.

救命?!我显然对连接性有限 - 我必须使用64位Excel和64位版本的AutoTag,而另一个我可以使用FINE和Crystal Reports的连接器将无法工作(文件名psqlodbc_08_04_0200).


异常堆栈:
错误:57014:由于语句超时而取消语句(DataSourceException)
错误:57014:由于语句超时而取消语句(NpgsqlException)

AutoTag版本:13.1.12.0
Office:15(64位),EXCEL
Windows:Microsoft Windows NT 6.1.7601 Service Pack 1(64位),GC内存:53,792,440

堆栈跟踪:

例外:net.windward.env.DataSourceException

消息:错误:57014:由于语句超时而取消语句

Stack:  at net.windward.xmlreport.a.a(ArrayList …
Run Code Online (Sandbox Code Playgroud)

postgresql connection-string timeout postgresql-9.3

1
推荐指数
1
解决办法
7091
查看次数

通过Windows身份验证连接到SQL时出错

我使用以下代码连接到sql throgh windows身份验证.

string connctionstring = "connectionString={0};Database={1};Integrated Security=SSPI;";
string _connctionstring = string.Format(connctionstring, datasource, initialCatalogue);
SqlConnection _connection = new SqlConnection(_connctionstring);
_connection.Open();
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误.请帮助.我可以通过sql server登录.

在此输入图像描述

c# connection-string

1
推荐指数
1
解决办法
61
查看次数

如何从PL SQL Developer的连接中找出Oracle连接字符串?

我在我的笔记本电脑上安装了PL/SQL Developer(由我的公司预先加载),当我想连接到ORACLE数据库时,我给它的全部是数据库名称,用户名和密码,它连接成功.

我也在我的机器上安装了DBVisualizer(我下载它因为它易于使用),当连接到ORACLE时想要知道SID或TNSNAMES或ORACLE服务名称,我都不知道.

我如何从我的工作PL SQL开发中找出这些细节,以便我可以使用我的DBVisualizer连接到相同的ORACLE数据库

谢谢凯

connection-string dbvisualizer plsqldeveloper

1
推荐指数
1
解决办法
9932
查看次数

用Node.js编写的Azure函数可以访问连接字符串吗?

Azure Function应用程序的“应用程序设置”包含可在门户中设置的数据库连接字符串的值。在C#中,可以使用

ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString
Run Code Online (Sandbox Code Playgroud)

对于用JavaScript编写的Azure函数,是否存在可以访问连接字符串的等效构造?我知道它们可以存储在应用程序设置中,但是由于门户网站上有专门讨论连接字符串的部分,所以我想问这是否对Node.js函数有任何应用程序。

connection-string azure node.js azure-functions

1
推荐指数
2
解决办法
1694
查看次数