VC中用ADO操作数据库用.udl连接不同数据库时问题
VC中用ADO操作数据库用.udl连接不同数据库时的问题,本来,希望用这种方法可以做个代码通用的程序,但发现不同数据库中SQL语句有些差别,我用的是ACCESS和SQL SEVER,里面如果在SQL SERVER中语句中用 '%d ',而ACCESS时,就不用引号,如果用会出错. 我想能否获取下.udl文件所连接的数据源的种类信息,如是ACCESS还是SQL SERVER,这样,我可以在程序中做下判断,不同情况下用不同语句,程序也就通用了. 不过,不知道如何获取数据源种类信息
[解决办法]
ADO连接数据库时,不同的数据库不是连接语句不同么?
m_pConnection-> Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydb.mdb ", " ", " ",adModeUnknown);//Access
m_pConnection-> Open( "Provider=SQLOLEDB.1;Server=192.168.1.6;DATABASE=mysql;UID=sa;PWD=; ", " ", " ",adModeUnknown);
//sql2000
[解决办法]
其他的数据库我没试过,嘿嘿
1. 访问ODBC数据:
"Provider=MSDASQL;DSN=dsnName;UID=userName;PWD=userPassword; "
2. 访问ACCESS 97数据库:
"Provider=Microsoft.Jet.OLEDB.3.51;Data Source=databaseName;User ID=userName;Password=userPassword; "
3. 访问ACCESS 2000数据库:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassword; "
4. 访问MS SQL数据库:
"Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=databaseName;User ID=userName;Password=userPassword; "
5. 访问ORACLE数据库:
"Provider=MSDAORA.1;Data Source=serverName;User ID=userName;Password=userPassword; "