public override string BuildConnectionString(ConnectionParam pconparam) { String strconn = pconparam.getLoginType(); if (strconn == null || (strconn.Equals("")) || (!strconn.Equals("WINDOWS_NT"))) { //strconn = "server=" + base.Server + "; database=" + base.Database + " ; user id=" + base.UserName + "; password="******"; Connection Reset=false"; strconn = " MultipleActiveResultSets=True; server=" + pconparam.getServer() + ";Connect Timeout=60" + "; database=" + pconparam.getDatabase() + " ; user id=" + pconparam.getUserName() + "; password="******"; Connection Reset=false"; } else { //strconn = "server=" + base.Server + "; database= " + base.Database + " ; Trusted_Connection=true; Connection Reset=false"; strconn = "MultipleActiveResultSets=True; server=" + pconparam.getServer() + ";Connect Timeout=60" + "; database= " + pconparam.getDatabase() + " ; Trusted_Connection=true; Connection Reset=false"; } pconparam.setConnString(strconn); this.ConIdbConnection.ConnectionString = strconn; this.ConnectionString = strconn; return strconn; //keysize = Aes.KeySize.Bits128; //byte[] cipherText = new byte[16]; //byte[] decipheredText = new byte[16]; //FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settings.dat"); //if (inf.Exists) //{ // StreamReader reader = inf.OpenText(); // pconparam.setServer(reader.ReadLine()); // pconparam.setUserName(reader.ReadLine()); // //base.Server = reader.ReadLine(); // //base.UserName = reader.ReadLine(); // cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); // AesLib.Aes a = new Aes(keysize, new byte[16]); // a.InvCipher(cipherText, decipheredText); // //Password = Encoding.Unicode.GetString(decipheredText); // pconparam.setPassword(Encoding.Unicode.GetString(decipheredText)); // //base.Database = reader.ReadLine(); // pconparam.setDatabase(reader.ReadLine()); // strconn = reader.ReadLine(); // if (strconn == "sa") // { // //strconn = "server=" + base.Server + "; database=" + base.Database + " ; user id=" + base.UserName + "; password="******"; Connection Reset=false"; // strconn = "server=" + pconparam.getServer() + "; database=" + pconparam.getDatabase() + " ; user id=" + pconparam.getUserName() + "; password="******"; Connection Reset=false"; // } // else if (strconn == "rbNTSecurity") // { // //strconn = "server=" + base.Server + "; database= " + base.Database + " ; Trusted_Connection=true; Connection Reset=false"; // strconn = "server=" + pconparam.getServer() + "; database= " + pconparam.getDatabase() + " ; Trusted_Connection=true; Connection Reset=false"; // } // reader.Close(); //} //else //{ // StreamWriter writer = inf.CreateText(); // writer.Close(); //} //base.ConnectionString = strconn; ////base.ConnectionString = "server = "+ base.Server +";uid= "+ UserName+";pwd = " + Password +";database ="+ Database+";"; //return base.ConnectionString; }
public override string BuildConnectionString(ConnectionParam pconparam) { // with OdbcConnectionString la` 1 trong cac chuoi~ duoi day // @"Driver={SQL Server};Server=.;Trusted_Connection=yes;Database=pubs;"; // --> ket noi csdl SQL bang che do authentication cua windows // @"Driver={SQL Server};server=.;uid=sa;pwd=12345;database=pubs;"; // --> ket noi csdl SQL bang che do username va password cua SQL // @"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=yes" // @"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\nwind.mdb" // @"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls" // @"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin" // @"DSN= dsnname" ==>voi dsnname duoc cau hinh nhu sau : vao administrator Tools/Data Sources (ODBC)->chon tab System (DSN) ->bam nut Add -> chon driver do Microsoft Access(*.mdb)->o muc Data Source Name danh ten DSN bat ky(dsnname) ,vi du la odbcTest->nhan nut Select de chon database Access,vi du D:\test.mdb ->bam nut ok de ket thuc if (DbType == "ODBC_SQL") { keysize = Aes.KeySize.Bits128; byte[] cipherText = new byte[16]; byte[] decipheredText = new byte[16]; FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settingsODBC_SQL.dat"); if (inf.Exists) { StreamReader reader = inf.OpenText(); //base.Server = reader.ReadLine(); pconparam.setServer(reader.ReadLine()); //base.UserName = reader.ReadLine(); pconparam.setUserName(reader.ReadLine()); cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); AesLib.Aes a = new Aes(keysize, new byte[16]); a.InvCipher(cipherText, decipheredText); //Password = Encoding.Unicode.GetString(decipheredText); pconparam.setPassword(Encoding.Unicode.GetString(decipheredText)); //base.Database = reader.ReadLine(); pconparam.setDatabase(reader.ReadLine()); strconn = reader.ReadLine(); if (strconn == "sa") { //string OdbcConnectionString = @"Driver={SQL Server};server=.;uid=sa;pwd=12345;database=pubs;"; // --> ket noi csdl SQL bang che do username va password cua SQL //strconn = @"Driver={SQL Server};server="+ base.Server + ";uid="+base.UserName +";pwd="+base.Password +";database=" + base.Database; strconn = @"Driver={SQL Server}" + ";Connect Timeout=60" + ";MultipleActiveResultSets=True; server=" + pconparam.getServer() + ";uid=" + pconparam.getUserName() + ";pwd=" + pconparam.getPassword() + ";database=" + pconparam.getDatabase(); } else if (strconn == "rbNTSecurity") { //string OdbcConnectionString = @"Driver={SQL Server};Server=.;Trusted_Connection=yes;Database=pubs;"; // --> ket noi csdl SQL bang che do authentication cua windows //strconn = @"Driver={SQL Server};Server=" + base.Server + ";Trusted_Connection=yes;database="+base.Database; strconn = @"Driver={SQL Server}" + ";Connect Timeout=60" + ";MultipleActiveResultSets=True; Server=" + pconparam.getServer() + ";Trusted_Connection=yes;database=" + pconparam.getDatabase(); } reader.Close(); } else { StreamWriter writer = inf.CreateText(); writer.Close(); } base.ConnectionString = strconn; } else if (DbType == "ODBC_Access") { keysize = Aes.KeySize.Bits128; byte[] cipherText = new byte[16]; byte[] decipheredText = new byte[16]; FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settingsOLEDB_Access.dat"); if (inf.Exists) { StreamReader reader = inf.OpenText(); //base.Server = reader.ReadLine(); pconparam.setServer(reader.ReadLine()); //base.UserName = reader.ReadLine(); pconparam.setUserName(reader.ReadLine()); cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); AesLib.Aes a = new Aes(keysize, new byte[16]); a.InvCipher(cipherText, decipheredText); //Password = Encoding.Unicode.GetString(decipheredText); pconparam.setPassword(Encoding.Unicode.GetString(decipheredText)); //base.Database = reader.ReadLine(); pconparam.setDatabase(reader.ReadLine()); strconn = reader.ReadLine(); string accessDBpath = pconparam.getDatabase(); //duong dan chua file csdl Access //set duong` dan cho file csdl Access neu no ko nam` trong thu muc ung dung \bin\Debug //hoac string OdbcConnectionString = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\test.mdb"; strconn = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=" + accessDBpath; //example 1 : accessDBpath = test.mdb (neu file test.mdb nam` trong thu muc bin\Debug cua ung dung) //example 2 : accessDBpath = D:\test.mdb trong truong` hop nay` phai set duong dan den file access de ung dung co the truy cap vao file access reader.Close(); } else { StreamWriter writer = inf.CreateText(); writer.Close(); } base.ConnectionString = strconn; } else if (DbType == "ODBC_Oracle") { //@"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=yes" //code later } else if (DbType == "ODBC_Excel") { //@"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls" //code later } else if (DbType == "ODBC_TextFile") { //@"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin" //code later } else if (DbType == "ODBC_DSN") { string DSN_ODBC_ACCESS = "tenDSN"; //ten DSN keysize = Aes.KeySize.Bits128; byte[] cipherText = new byte[16]; byte[] decipheredText = new byte[16]; FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settingsOLEDB_DSN.dat"); if (inf.Exists) { StreamReader reader = inf.OpenText(); //base.Server = reader.ReadLine(); //ko dung` //base.UserName = reader.ReadLine(); //ko dung` cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); AesLib.Aes a = new Aes(keysize, new byte[16]); a.InvCipher(cipherText, decipheredText); //Password = Encoding.Unicode.GetString(decipheredText); DSN_ODBC_ACCESS = Encoding.Unicode.GetString(decipheredText); //base.Database = reader.ReadLine(); //strconn = reader.ReadLine(); //hoac string OdbcConnectionString = @"DSN=tenDSN"; strconn = @"DSN=" + DSN_ODBC_ACCESS; reader.Close(); } else { StreamWriter writer = inf.CreateText(); writer.Close(); } base.ConnectionString = strconn; //@"DSN= dsnname" ==>voi dsnname duoc cau hinh nhu sau : //vao administrator Tools/Data Sources (ODBC)->chon tab System (DSN) ->bam nut Add -> chon driver do Microsoft Access(*.mdb) //->o muc Data Source Name danh ten DSN bat ky(dsnname) ,vi du la odbcTest //->nhan nut Select de chon database Access,vi du D:\test.mdb ->bam nut ok de ket thuc //code later } else throw new Exception("Invalid database type"); return base.ConnectionString; }