Using Visual Basic for Applications, how can I find out which version of the MySQL ODBC driver is installed in Windows on a user's machine?
I have a Microsoft Access application that uses the MySQL ODBC driver to make a connection. The connection string looks like this:
ODBC;DATABASE=mydatabase;DRIVER={MySQL ODBC 3.51 Driver};
OPTION=3;PWD=password;PORT=3306;SERVER=server-db;UID=db-user;
Run Code Online (Sandbox Code Playgroud)
This was working find until the IT manager installed version 5.1 of the MySQL ODBC driver on a user's PC, which broke my connection string.
如果我知道在用户的Windows XP安装上安装了驱动程序的版本,我可以在运行时将其插入到连接字符串中. …
我有一个3层项目.
1)Project.Data(EDMX文件)
2)Project.Model(POCO)
3)Project.Console(控制台应用程序)
我已将连接字符串添加到Project.Console.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ProjectEntities" connectionString="metadata=res://*/Project.csdl|res://*/Project.ssdl|res://*/Project.msl;provider=System.Data.SqlClient;provider connection string="Data Source=PC\SQLEXPRESS;Initial Catalog=Project;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
它Project.Model是使用EntityObjectVS2010中的T4模板构建的.它ObjectContext使用以下构造函数生成一个类:
public ProjectEntities() : base("name=ProjectEntities", "ProjectEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
Run Code Online (Sandbox Code Playgroud)
我只是试图实例化context对象,在Project.Console:
namespace Project.Console
{
class Program
{
static void Main(string[] args)
{
ProjectEntities pe = new ProjectEntities();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我MetadataException was unhandled在构造函数中收到错误.说明Unable to load the specified metadata resource.
我做了大量研究(谷歌搜索),发现它似乎是这些资源的链接问题.我似乎无法找到解决方案.
任何帮助表示赞赏.
connection-string visual-studio-2010 entity-framework-4 c#-4.0
我在哪里可以找到我将在连接字符串中使用的MySQL名称,以便从c#连接到数据库?
在旧的oledb时代,我使用UDL文件和相关向导来检查和创建连接字符串.现在,你可以用这种方式创建的连接字符串不再那么普遍.例如,ADO.NET实体框架创建UDL向导无法处理的修饰连接字符串.是否有任何工具可以创建今天的通用数据链接?
我正在尝试使用'Database'NLog目标,并希望NLog读取我的连接字符串,以避免在同一个配置文件中设置它两次.问题是我有一个Entity Framework样式的连接字符串,因此使用该connectionStringName属性不起作用.
在log4net中,我可以使用自定义AdoNetAppender并自己提取连接字符串的相应部分.有没有办法自定义NLog的数据库目标,所以我可以传入一个适当样式的连接字符串?
我找到了答案,却找不到答案.它必须是显而易见的东西,我只是想念它.
我们在app.config文件中有一个连接字符串问题.它使用SQL Server身份验证,密码包含"&"和"+"符号.显然解析是错误的.此时更改密码将是一件麻烦事.有办法处理这个吗?

真的有连接字符串的烦人时间.
我在一个解决方案中共同拥有两个项目.Web表单应用程序充当表示层,以及支持它的类库,它将从数据库发送和接收数据.
- 类库项目中的员工类 -
Friend Class Employee
Public Function GetEmployees() As DataSet
Dim DBConnection As New SqlConnection(My_ConnectionString)
Dim MyAdapter As New SqlDataAdapter("exec getEmployees", DBConnection)
Dim EmployeeInfo As DataSet
MyAdapter.Fill(EmployeeInfo, "EmployeeInfo")
Return EmployeeInfo
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
目前该应用程序告诉我它无法访问我试图存储在配置文件中以便快速重复访问的"My_ConnectionString":
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<connectionStrings>
<add name="My_ConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=My_DB;Integrated Security=True;"/>
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
web.config是Web表单项目的一部分,而不是类库,这些项目是否无法相互"交谈"?我是否需要将web/app配置文件添加到类库以在该项目中存储连接字符串?
有没有一种简单的方法来获取LINQPad连接窗口中列出的数据库的连接字符串(除了使用Visual Studio的对象浏览器)?
我一直在探索我的大脑几天试图解决这个问题.
我正在使用winhost来托管一个SQL Server,我在相同的问题上查找了很多类似的问题,但它们似乎都有一些格式错误,这是他们的问题.
我的连接字符串出了什么问题?
<add name="ContactsDb"
connectionString="Data Source=tcp:s10.winhost.com;Initial Catalog=DB_84426_webdevct;User ID=DB_84426_webdevct_user;Password=***********;Integrated Security=False;"
providerName="System.Data.EntityClient"/>
Run Code Online (Sandbox Code Playgroud) 我需要帮助 !我不确定标题是否重要,所以我会尝试更好地解释.
我在一个使用http请求到ASP.NET web api站点的角度网站上工作.我的数据库是Oracle数据库.我使用Entity Framework(Database First)和一个硬编码连接字符串(在我的web.config中)
Run Code Online (Sandbox Code Playgroud)<add name="UserConnection" connectionString="DATA SOURCE=ip:port/name;PASSWORD=pwd;PERSIST SECURITY INFO=True;USER ID=usr" providerName="Oracle.ManagedDataAccess.Client" />(我用ip替换了真正的信息;端口;名称; pwd; usr,因为我无法显示它们)
所有这些都有效,但现在我的团队希望能够将此Oracle连接字符串与动态USER ID和PASSWORD结合使用
目标是使用一个用户的凭据登录我的角度应用程序,并使用相同的凭据连接到Oracle DB.因此我不能再使用这个硬编码连接字符串了.(创建时,用户都在db users表和oracle users表中)
我试图为我的db:Dbcontext类创建另一个构造函数,给出一个连接字符串:base()第一个参数:
public partial class db:DbContext {
public db(string connectionString):base(connectionString){}
...}
其中connectionString是我web.config中的同一块:"DATA SOURCE = ip:port/name; PASSWORD = pwd; PERSIST SECURITY INFO = True; USER ID = usr"
测试它给了我这个错误:
"提供的sqlconnection未指定初始目录或attachdbfilename oracle"
我认为这不起作用,因为我没有在base first param中提供我的providerName("Oracle.ManagedDataAccess.Client"),但我没有找到接受providerName的第二个参数的构造函数.
我也试过这个:
public db(string connectionString):base(new OracleConnection(connectionString)){}
但是Visual Studio给了我这个错误:
"Erreur CS1503 Argument 1:转换不可能de'Oracle.ManagedDataAccess.Client.OracleConnection'en'System.Data.Entity.Infrastructure.DbCompiledModel'"
我不知道DbCompiledModel是什么,也许这是关键,或者说我做错了.
我还尝试编辑web.config连接字符串,更改用户和密码并使用使用此连接字符串的默认db构造函数,但编辑此文件不能执行我想要的操作:只有在db请求之后才会编辑连接字符串完了,它重新加载了应用程序.
我知道它会超级,我有点迷失在那里,我刚开始做一些BackEnd应用程序(我正在实习)我之前只做FrontEnd.
感谢阅读,这有点长.我没有在论坛中找到我想要的成功结果,所以我尝试自己询问
桑尼