我试图使用oledb将csv文件加载到数据表中.
这没有问题,但不幸的是,其中一个看起来很数字的字段在字段中有大约3%的字符串值,因此没有填充.
因为我将csv转换为xml我真的不关心推断数据类型,只需要字符串中的数据,因为我可以稍后在Linq2XMl阶段投出它.
我希望能够在连接字符串中执行此操作.
我不想只是复制表,使用我想要的数据类型的新列进行设置,然后将数据写入其中,因为这将涉及加载csv文件两次.
有任何想法吗?
我当前的连接字符串是
Provider = Microsoft.Jet.OLEDB.4.0; Data Source ="+ thefile.DirectoryName +"; Extended Properties ='text; HDR = Yes; FMT = Delimited'";
如果我们希望在我们的WPF应用程序中让用户通过对话框窗口进行SQL Server数据库连接设置,我们应该采用什么方法来实现它.
我们应该以编程方式更改app.config文件吗?或者,存在另一种方法?或者,也许,在WPF中有一些预先构建的工具可以做到这一点?
请原谅这个极端新手的问题.我无法在其他任何地方找到答案.
我正在使用Entity Framework和WCF编写解决方案.我将写几个不同的客户.我已将数据库连接字符串放在Entity Framework项目的app.config和WCF主机的app.config文件中.
在宿主类中,我用一种方法编写了一个简单的测试服务契约,该方法只是从数据库(来自EF)检索所有客户,称为GetAllCustomers().然后我编写了一个简单的控制台客户端应用程序来调用主机的GetAllCustomers()并将所有客户的名字和姓氏写入控制台.
当我尝试运行客户端时,我收到一条错误消息,"在应用程序配置文件中找不到名为'TRS11Entities'的连接字符串.
如果我将连接字符串复制到客户端控制台应用程序的app.config文件,它可以正常工作,但如果我将其注释掉,它将无法再次运行.
由于WCF主机正在与数据库进行通信,而不是直接与客户端通信,因此我不明白为什么客户端需要连接字符串.我只能猜测连接字符串是从客户端传递到WCF主机到实体框架的链.如何让WCF主机告诉.NET,"降压停在这里!使用我的app.config的连接字符串并停止打扰客户端获取此信息!"
如果重要的话,我正在使用Visual Studio Pro 2012,所有项目都是用C#编写的,目标是V4.5 .NET框架.
来自WCF服务项目中的APP.CONFIG:
<system.serviceModel>
<services>
<service name="OrsonServiceLibrary.Service1">
<endpoint address="localhost" binding="basicHttpBinding" name="TRS11Entities"
contract="OrsonServiceLibrary.IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8733/Design_Time_Addresses/OrsonServiceLibrary/Service1/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information,
set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<!-- To receive exception details in faults for debugging purposes,
set the value below to true. …Run Code Online (Sandbox Code Playgroud) 所以我看到了一些关于保护ASP.Net应用程序连接字符串的不同文章,但它们都已过时了.我搜索了"保护连接字符串ASP.Net""保护密码连接字符串SQL Server"和其他变体,我找不到我到底要找的东西.
我是专门使用MVC 5.我的问题是,是否有一种方法可以将我的密码web.config以安全的方式存储在我的密码之外,这样我的密码就不会以易于实现的纯文本形式存储.
我假设我可以连接到我的数据库,并通过某种类型的操作重置密码使用加密或哈希通过命令行.我是新手,所以要善良.我有什么选择.我假设必须有一个不太复杂的最佳实践.
我使用MVC 5(C#in .Net 4.5)连接到SQL Server 2012
我发现的大部分内容都是过时的(2007年).我确实遇到过使用Rijndael示例的问题.
我们有一个ASP.NET MVC 5网站,当我们使用Visual Studio在本地运行它时,它可以正常工作。在本地运行时,网站连接到两个SQL Express数据库(AspNetUsers和我们的内容数据库)。我们使用实体框架连接到内容数据库。
我们将网站部署到Azure,并将2个数据库迁移到SQL-Azure数据库。
这是web.config中的连接字符串
<connectionStrings>
<add name="AspNetUsersDatabase" connectionString="Data Source=tcp:ZZZ.database.windows.net,
1433;Initial Catalog=ZZZ;User ID=ZZZ@ZZZ;Password=ZZZ;"
providerName="System.Data.SqlClient" />
<add name="Group5DatabaseConnectionString" connectionString="Data Source=YYY.database.windows.net,
1433;Initial Catalog=YYY;User ID=YYY@YYY;Password=YYY;"
providerName="System.Data.SqlClient" />
<add name="Group5DatabaseEntities" connectionString="metadata=res://*/Models.Group5Model.csdl|
res://*/Models.Group5Model.ssdl|res://*/Models.Group5Model.msl;provider=System.Data.SqlClient;
provider connection string="data source=XXX.database.windows.net,1433;
InitialCatalog=XXX;UserID=XXX@XXX;Password=XXX;MultipleActiveResultSets=True;
App=EntityFramework""providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
似乎这些链接正确链接到了网站,因为此答案中所述的web.config中的连接字符串与Azure中的连接字符串正确匹配,并且网站上的大多数视图都可以正常工作。
但是,当尝试打开两个视图时,出现以下错误:
“ /”应用程序中的服务器错误。
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。(提供者:SQL网络接口,错误:26-指定服务器/实例时出错)
说明:执行当前Web请求期间发生未处理的异常。
请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。SQLExpress数据库文件自动创建错误:
连接字符串使用应用程序的App_Data目录中的数据库位置指定本地Sql Server Express实例。
提供者尝试自动创建应用程序服务数据库,因为提供者确定该数据库不存在。要成功检查应用程序服务数据库的存在并自动创建应用程序服务数据库,必须满足以下配置要求:
如果应用程序在Windows 7或Windows Server 2008R2上运行,则必须执行特殊的配置步骤才能启用提供程序数据库的自动创建。有关其他信息,请访问:http : //go.microsoft.com/fwlink/?LinkId=160102。如果应用程序的App_Data目录不存在,则Web服务器帐户必须具有对该应用程序目录的读写权限。这是必需的,因为如果Web服务器帐户尚不存在,它将自动创建App_Data目录。
如果应用程序的App_Data目录已经存在,则Web服务器帐户仅需要对应用程序的App_Data目录的读写权限。这是必需的,因为Web服务器帐户将尝试验证应用程序的App_Data目录中是否已存在Sql Server Express数据库。从Web服务器帐户撤消对App_Data目录的读取访问权限,将阻止提供程序正确确定Sql Server Express数据库是否已存在。当提供程序尝试创建已经存在的数据库的副本时,这将导致错误。由于创建新数据库时会使用Web服务器帐户的凭据,因此需要写访问权限。
必须在计算机上安装Sql Server Express。Web服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。
似乎以下行在错误消息中最重要:
连接字符串使用应用程序的App_Data目录中的数据库位置指定本地Sql Server Express实例。
无效的两个视图都实例化,AccountController并在其中使用以下方法:
[Authorize]
public …Run Code Online (Sandbox Code Playgroud) asp.net-mvc connection-string web-config azure azure-sql-database
我正在保护我的MVC5项目,将连接字符串从web.config移动到外部文件中,而不是将其检入源代码控制,也不将其添加到项目中.
我的web.config看起来像
<configuration>
<connectionStrings configSource="ConnectionStrings.config" />
Run Code Online (Sandbox Code Playgroud)
这在开发中非常有效.
我在Azure WebSites中托管了网站,并且我已在配置门户中手动定义了连接字符串.
问题是,当我发布到Azure时,我收到错误 "无法打开configSource文件'ConnectionStrings.config'."
有没有办法覆盖web.config中的连接字符串元素,所以它不会尝试找到外部文件?Web Transforms能够做到这一点吗?
在此先感谢,所有帮助表示赞赏
我想在连接字符串中指定端口和sid.以下代码运行后
public static string ConnectionString
{
get
{
string host = Config.CsHost;
string sid = Config.CsSID;
string port = Config.CsPort;
string user = Config.CsUser;
string pass = Config.CsPassword;
return String.Format(@"Data Source = {0}:{1}\{2}; Persist Security Info = True; User Id = {3}; Password = {4}; Unicode = True", host, port, sid, user, pass);
}
}
Run Code Online (Sandbox Code Playgroud)
...
using (OracleConnection connection = new OracleConnection(ConnectionString))
{
try
{
connection.Open();
Run Code Online (Sandbox Code Playgroud)
Open()没有响应......问题在于我认为的sid.可能是什么问题?
更新:我应该使用这种连接字符串.但我不能很好地解释它.
数据源=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = MyHost)(PORT = MyPort)))(CONNECT_DATA =(SERVER = …
为什么System.Data.SqlClient.SqlConnection类抛出"参数不正确"的异常?
我正在尝试使用.NET Framework 4.5学习如何使用本地SQL数据库和ASP.NET MVC项目设置数据库连接.
以下是我采取的步骤:
在我的项目App_Data文件夹中创建了一个名为的新SQL Server数据库TestSQLdb.mdf.
在web.config:创建连接字符串:
<add name="SQLTestConnection1"
connectionString="Data Source=(LocalDB);initial catalog=TestSQLdb;Integrated Security=true" />
Run Code Online (Sandbox Code Playgroud)通过访问连接字符串
string cn_str = ConfigurationManager.ConnectionStrings["SQLTestConnection1"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)
(有关详细信息,请参阅此SO线程).
创建了一个新连接:
SqlConnection conn = new SqlConnection(cn_str);
Run Code Online (Sandbox Code Playgroud)尝试打开连接:
try
{
conn.Open();
Run Code Online (Sandbox Code Playgroud)
此时,抛出异常.
我尝试设置它,这样简单易学.我错过了什么?
当我创建新的Azure webjob项目时,我可以在app.config下面的部分中看到connectionstring部分:
<connectionStrings>
<!-- The format of the connection string is "DefaultEndpointsProtocol=https;AccountName=NAME;AccountKey=KEY" -->
<!-- For local execution, the value can be set either in this config file or through environment variables -->
<add name="AzureWebJobsDashboard" connectionString="" />
<add name="AzureWebJobsStorage" connectionString="" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
在我的webjob函数中我只与我的应用程序db交互.
- 那么我真的需要为azure webjobs创建另外两个数据库吗?
当我从visual studio运行webjobs时,我收到以下错误:
应用程序:WebJobTest.exe Framework版本:v4.0.30319描述:由于未处理的异常,进程已终止.异常信息:System.InvalidOperationException Stack:位于Microsoft.Azure的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) WebJobTest.Program.Main()中的.WebJobs.JobHost.Call(System.Reflection.MethodInfo,System.Object)
当我尝试访问webjobs日志时,它显示:WebJob详细信息WebJobTest
确保使用以下格式在Microsoft Azure网站配置中设置名为AzureWebJobsDashboard的连接字符串:DefaultEndpointsProtocol = https; AccountName = NAME; AccountKey = KEY指向存储Microsoft Azure WebJobs运行时日志的Microsoft Azure存储帐户.
我想这是因为没有正确的数据库连接字符串.
- 上述两个错误之间可能存在什么联系?
我最近将我的MySQL实例从5.7升级到8.0.我使用JDBC和一个看起来像这样的连接字符串连接到我的旧实例:
jdbc:mysql://[host:port]/[database]/?sessionVariables=sql_mode=''
Run Code Online (Sandbox Code Playgroud)
升级到8.0后会导致此错误
com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near '='')'.
Run Code Online (Sandbox Code Playgroud)
如何在MySQL 8的JDBC连接字符串中设置SQL模式?