How should load sensitive connection strings

ok so when i need to connect a swf to some sort of data
source on the server be it XML, a .NET DLL, a CFC or what ever so
that i can load data from a database or what ever, everyone is
always saying that i shouldn't hard code the connection string into
my actionscript as anyone can get it and do malicious things with
it.
So how should i load the connection string into flash. if i
put them on the server in an XML file or somthing like that then i
still need to put a connection string into the actionscript in
order to load in my main connection strings into the actionscript.
Basically i need to know how to load an external string into
a swf without anyone else being able to get hold of that string for
them selves.
i realy need help with this because i am developing an app
for somone and i need it to connect to a database and i need it to
be secure. i have everything sorted except making the connection
string to the database unstealable.

Hi
1. The "GLOBAL.ASA" in ASP3 become "GLOBAL.ASAX" on ASP.Net and it is not the equivalent of web.config. ASP3 do not have an equivalent as this is dynamic tech and By default there is no precompile/compile action as in Dot.Net
 2. You can just move a text file which include the connection string outside the site's folder as we used to do 15 years ago when we used Microsoft Access as a database (When we need small database, before the SQL EXPRESS). This way there is no direct
URL to get to file!
* There are several option of restrict the use of a file in ASP3 and in the IIS configuration. check if this is what you want (restrict the use of a specific file/folder) 
3. robot.txt is only for searching engine which keep "nice behavior". it do not stop any application including search engine from getting the file.
Have fun :-)
[Personal Site] [Blog] [Facebook]

Similar Messages

  • How to create dynamic connection string with variables using ssis.

    Hello,
    Can anyone let me know on how to create dynamic connection string with variables using ssis?
    Any help would be appreciated.

    Hi vinay9738,
    According to your description, you want to connect multiple database from multiple servers using dynamic connection.
    If in this case, we can create a Table in our local database (whatever DB we want) and load all the connection strings.  We can use Execute SQL Task to query all the connection strings and store the result-set in a variable of object type in SSIS package.
    Then use ForEach Loop container to shred the content of the object variable and iterate through each of the connection strings. And then Place an Execute SQL task inside ForEach Loop container with the SQL statements we have to run in all the DB instances. 
    For more details, please refer to the following blog:
    http://sql-developers.blogspot.kr/2010/07/dynamic-database-connection-using-ssis.html
    If there are any other questions, please feel free to let me know.
    Regards,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • How to determine the connection string to a SQLite database, in C# code

    Hello. I'm trying to figure out how to specify the connection string to a SQLite database, I would like to access using the following code:
    string connectionString = null;
    SqlConnection connection;
    SqlCommand command;
    SqlDataAdapter adapter = new SqlDataAdapter();
    DataSet ds1 = new DataSet();
    string sql = "SELECT DataName, Data, Id, UserId, DateLastUpdated FROM MainTable";
    connectionString = "Data Source=C:\\SQLITEDATABASES\\SQLITEDB1.sqlite;Version=3;";
    connection = new SqlConnection(connectionString);
    try
    connection.Open();
    command = new SqlCommand(sql, connection);
    catch
    The value I assigned to the variable connectionString, in the code above, I obtained somewhere from the Internet. It does not work. I'm using Visual Studio 2013, against the file sqlite-netFx451-setup-bundle-x86-2013-1.0.96.0.exe, which
    I installed, and got from
    here.
    My application's App.config file looks as follows:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <configSections>
    </configSections>
    <connectionStrings>
    <add name="DC_Password_Saver.Properties.Settings.DC_Password_SaverConnectionString" connectionString="data source=&quot;C:\Users\patmo_000\Documents\Visual Studio 2013\Projects\DC Password Saver\DC Password Saver\DC Password Saver.db&quot;" providerName="System.Data.SQLite.EF6"/>
    </connectionStrings>
    <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
    </startup>
    </configuration>
    I tried to use the value assigned to connectionString in the XML settings above, replacing single backslash characters with double backslash characters, because the Visual Studio editor flagged them as unrecognizable, and wound up with the
    following.
    SqlDataAdapter adapter = new SqlDataAdapter();
    DataSet ds1 = new DataSet();
    string sql = "SELECT DataName, Data, Id, UserId, DateLastUpdated FROM MainTable";
    connectionString = "data source=&quot;C:\\Users\\patmo_000\\Documents\\Visual Studio 2013\\Projects\\DC Password Saver\\DC Password Saver\\DC Password Saver.db&quot;";
    connection = new SqlConnection(connectionString);
    The above code however does not work either. So again, does anyone know how I can specify in C# code, a connection string to access my SQLite database? Thanks in advance for your reply.

    What does SQLite connection strings has to do with WPF?
    You will find some valid connection strings here:
    https://www.connectionstrings.com/sqlite/
    But you cannot use the SqlConnection class to connect to a SQLite database. You will need to download and add a reference to the System.Data.SQLite library and then use the SQLiteConnection class:
    connection = new System.Data.SQLite.SQLiteConnection(connectionString);
    try
    connection.Open();
    command = new System.Data.SQLite.SQLiteCommand(sql, connection);
    catch
    Please refer to the following article for more information and an example of how to connect and read and write data from an SQLite database using C#:
    http://blog.tigrangasparian.com/2012/02/09/getting-started-with-sqlite-in-c-part-one/.
    There is contains a link where you can download the required assemblies.
    Hope that helps.
    Please remember to mark helpful posts as answer to close your threads and then start a new thread in an approproate forum if you have a new question.

  • How to find the CONNECTION STRING

    how to find the connection string through SQL Statement?
    salahuddin/salahuddin@CONNECTION_STRING
    Below is all about my sql version:
    DEFINE SQLPLUSRELEASE = "800060000" (CHAR)
    DEFINE _EDITOR         = "Notepad" (CHAR)
    DEFINE OVERSION = "Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options" (CHAR)
    DEFINE ORELEASE = "1002000100" (CHAR)

    In windows XP plateform your can find from the ServicesHow can you do that using SQL statement? Plus connect strings are not available in Services. In post 9i SQL*Plus we can do it in SQL statement like this
    SELECT '&&_CONNECT_IDENTIFIER'
    FROM dual;
    Note: This will work only in SQL*Plus.

  • How to dynamically set connection string for report in C# code?

    Hi,
    I have installed CRVS2010. I have created new Crystal Report WPF Application and new report. I would like to set connection string for report in code dynamically.
    Is this possible?
    Thanks
    Ivana

    Lots of posts in this forum on how to set database connections. WPF should not be a consideration as it's just a viewer. The report engine is still the same. Search these forums. Use the search box at the top right corner of this page. Look at samples here:
    https://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsfor.NETSDK+Samples
    Note that none of the samples above are using WPF, but like I said, the WPF is just a different viewer and will not impact how the report engine logs on to a database. (I think of it as a gray car vs. a red car. Same engine, just the color is different)
    Ludek
    Follow us on Twitter http://twitter.com/SAPCRNetSup
    Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]

  • How to create dynamic Connection String in SSIS Package???

    Hi
    I created OLEDB Source Connnection String for that Package,
    i need Create OLEDB Destination Connection String Dynamically,
    Same server name,but i need to add DW at the end of the Database
    ex:
    Source database name is Demo,
    Destination database should come DemoDW.
    i need to create Dynamic Destination Connection String..
    any possible to Create 
    Thanks in advance
    Pandiyan
    pandiyan

    Hi Pandiyanpvp,
    According to your description, the OLEDB Destination Connection String should be dynamically based on the OLEDB Source Connection String. They are all the same, except adding “DW” at the end of the Database of OLEDB Source Connection String in OLEDB Destination
    Connection.
    To achieve this requirement, we can create a variable with the Database name of OLEDB Source Connection String, then use expression to control the OLEDB Source and OLEDB Destination Connection Strings. For more details, please refer to the following steps:
    Create a variable named Source with the Database name of OLEDB Source Connection String as value.
    Click the OLEDB Source Connection Manager to navigate to the Properties window.
    Click “…” next to Expressions to add a ConnectionString Property with the expression like below:
    "Data Source=.;Initial Catalog="+@[User::Source] + ";Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"
    Click the OLEDB Destination Connection Manager to navigate to the Properties window.
    Click “…” next to Expressions to add a ConnectionString Property with the expression like below:
    "Data Source=.;Initial Catalog="+ @[User::Source] + "DB"+";Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • How to create SQL Connections String using JSP

    Hi, Dear I wrote sample Jsp program(Create a table and Inserted to Table) using SQLConnection
    I got this Error, how to rectify please help me?
    This is my Connection String
    <%
    String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
         Class.forName(driver).newInstance();
         Connection con=null;
         ResultSet rst=null;
         Statement stmt=null;
         try
              String url=java.sql.DriverManager.getConnection("jdbc:sqlserver://10.1.5.6:1433;Database=manickaraj;User=sa; Password=test*");
              con=DriverManager.getConnection(url);
              stmt=con.createStatement();
         catch(Exception e)
    System.out.println(e.getMessage());
         if(request.getParameter("action") != null)
              String CategoryName=request.getParameter("Category1");
              String Description=request.getParameter("Description1");
    String Status=request.getParameter("Status1");
              stmt.executeUpdate("insert into Category(CategoryName,Description) values('"+CategoryName+"','"+Description+"','"+Status+"')");
              rst=stmt.executeQuery("select * from Category");
    %>
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 5 in the jsp file: /CategoryAction.jsp
    Generated servlet error:
    C:\Documents and Settings\manickaraj\.netbeans\5.5\apache-tomcat-5.5.17_base\work\Catalina\localhost\SampleJsp\org\apache\jsp\CategoryAction_jsp.java:61: incompatible types
    found : java.sql.Connection
    required: java.lang.String
    An error occurred at line: 5 in the jsp file: /CategoryAction.jsp
    Generated servlet error:
              String url=java.sql.DriverManager.getConnection("jdbc:sqlserver://10.1.2.4:1433;Database=manickaraj;User=sa; Password=test*");
              ^
    1 error
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

    package shop;
    import java.sql.*;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.naming.InitialContext;
    import javax.sql.DataSource;
    public class DAClass {
         private static Connection conn;
         private static ResultSet rs;
         private static PreparedStatement ps;
         public static void connect(String dsn, String un, String pwd) {
              try {
                   //access or Mysql odbc connectivity
                   //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                   //conn=DriverManager.getConnection("jdbc:odbc:"+dsn,un,pwd);
                   //mysql
                   //Class.forName("com.mysql.jdbc.Driver");
                   //conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/eshop?user=root&password=root");
                InitialContext ctx = new InitialContext();
         DataSource ds = (DataSource) ctx.lookup("jdbc/eshop");
          conn = ds.getConnection();
         //DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MySQLDB")
              catch(Exception e) {
                   //return "not soory";
         public static boolean chkPwd(String un, String pwd) {
              try {
                   boolean b=false;
                   ps=conn.prepareStatement("select * from cust_info where cust_name=? and cust_pwd=?");               
                   ps.setString(1,un);
                   ps.setString(2,pwd);
                   rs=ps.executeQuery();
                   while(rs.next()) {
                        b=true;
                   return b;
              catch(Exception e) {
                   return false;
    }changed the code like this other part is same.implemented connection pooling but still its too lazy loding can you guide me?

  • How to get the connection string at runtime

    Hi,
    I'm using Forms6i.
    I'm using EXEC_SQL to execute a dynamic sql in my form.
    I need connection string for that . But i cannot give it hardcodingly.
    Is there any form's properties to get the database connection string, to which the form is connected ?
    Thanks

    Hi,
    I've the user i/p columns
    EmpNo, Dept ,Holicode and , From and To Date.
    In which From and To Date is mandatory.
    In one table, emp_cal_header, i have all the holidays defined for each of the employees for a year.
    The records like
    EmpNo    Holicode     Holidt
    001        Frioff         02/07/2011
    001        Satoff        03/07/2011
    001        Frioff         08/07/2011
    .....So i want the final o/p in Excel like
    If user i/p is from Date: 01/07/2011 ,ToDate:09/07/2011, EmpNo :001
    EmpNo   Dept     Total  01/07/2011   02/07/2011 ..... 08/07/2011  09/07/2011
    001        IT        3               FriOff           Frioff            For this i'm constructing a dynamic sql like this
         qry := '(Select ech_emp_code cal_emp_code,emp_name CAL_EMP_NAME,emp_dept CAL_EMP_DEPT,count(ech_date) CAL_TOTAL'||date_cols||'
                             from (Select ech_emp_code,em.emp_name||'' ''||em.emp_middle_name||'' ''||em.emp_last_name emp_name,em.emp_dept emp_dept,ech_code,ech_desc,ech_date
                                            from emp_cal_header ,employee_master em
                                where emp_cal_header.ech_emp_code = em.emp_code
                                and  ech_emp_code = '||nvl(:emp_code,'ech_emp_code')
                                ||' and em.emp_status IN (''P'',''C'')'
                                ||' and em.emp_dept = '||dep
                                ||' and ech_date between '''||to_date(to_char(:From_dt,'DD-MON-YYYY'))
                                ||''' and '''  ||to_date(to_char(:To_dt,'DD-MON-YYYY'))
                                ||''' and ech_code = '||holi
                                ||' order by ech_Date)
                 group by ech_emp_code,emp_name,emp_dept)';
    and date_cols is constructed as
         todt := :from_dt ;
         i := 0;
         loop
              i := i+1;
              dt  := to_char(todt,'dd-MON-YYYY');
              date_cols     := date_cols||','||'max(decode(to_char(ech_date,''dd-MON-YYYY''),'''||dt||''',ech_CODE)) DT'||i;
              todt := todt + 1;
              Exit when todt > :to_dt ;
         End loop;This query i'm executing using EXEC_SQL.
    Since date_cols can be constructed only based on user i/p , i'm not able to do just a normal query
    Any help

  • How to build a connection string if "Only variable names (i.e.: $variable) may be used as the target of an assignment statement."

    im looping through databases on a server & building  a connection string to each database.
    $SQLConn.ConnectionString = "Server=$SrvName; Database=$DBName; User ID =DBLogin; Password=myPassword;"
    The problem is i get this error:
    Only variable names (i.e.: $variable) may be used as the target of an assignment statement
    I can put the code into an Inlinescript, but then I lose the ability to perform paralellism. Is there any way to construct the connection string in PS Workflow without using an Inlinescript?

    Hi Winston,
    Why not just wrap the InlineScript blocks in a Parallel block, to cause them to execute in parallel?
    For example:
    workflow foo {
    parallel {
    inlinescript {
    start-sleep -Seconds (Get-Random -Minimum 1 -maximum 5)
    "a"
    inlinescript {
    start-sleep -Seconds (Get-Random -Minimum 1 -maximum 5)
    "b"
    Sometimes outputs "a b" and sometimes outputs "b a"

  • ISQL*PLUS dynamic reports - how to pass connect string in the URL

    When we run dynamic reports thru ISQL*PLUS, does anyone know how
    to pass the connect string info in the URL
    The following is the code from ISQL*PLUS users guide but it
    dosen't show how to pass the connect string
    when I tried to pass hr/your_secret_password@dbserver for userid
    I got an error msg
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    <HTML>
    <HEAD>
    <TITLE>iSQL*Plus Dynamic Report</TITLE>
    </HEAD>
    <BODY>
    <H1>iSQL*Plus Report</H1>
    <H2>Query by Employee ID</H2>
    <FORM METHOD=get ACTION="http://host.domain/isqlplus">
    <INPUT TYPE="hidden" NAME="userid"
    VALUE="hr/your_secret_password">
    <INPUT TYPE="hidden" NAME="script"
    VALUE="http://host.domain/employee_id.sql">
    Enter employee identification number: <INPUT TYPE="text"
    NAME="eid" SIZE="10">
    <INPUT TYPE="submit" VALUE="Run Report">
    </FORM>
    </BODY>
    </HTML>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Thanks
    Jay

    The form you use should work when your change
    "hr/your_secret_password" to a valid username, password
    and connect identifier like "hr/hr@MYDB". Don't forget to
    configure MYDB in your tnsnames.ora file on the machine that has
    the iSQL*Plus server.
    What was the error you got?
    The full URL syntax did seem to go missing from the 9.0.1 doc.
    See below for the full syntax. This should be appearing in a
    forthcoming FAQ.
    - CJ
    What syntax can I use to run an iSQL*Plus Dynamic Report?
    You can run a dynamic report by entering the report URI in the
    location field of your browser, or by making the report server a
    link or the action for an HTML form. The iSQL*Plus 9i Release 1
    documentation has examples of these.
    The general syntax for running a dynamic report is:
    {uri}?[userid=logon&]script=location[&param...]
    where uri
    Represents the Uniform Resource Identifier (URI)
    of the iSQL*Plus Server, for example:
    http://host.domain/isqlplus
    where logon
    Represents the log in to the database to which you
    want to connect:
    {username[/password][@connect_identifier]}
    where location
    Represents the URI of the script you want to run.
    The syntax is:
    http://[host.domain/script_name]
    The host serving the script does not have to be
    the same as the machine running the iSQL*Plus server.
    where param
    Specifies the named parameters for the script you
    want to run.
    Named parameters consist of varname=value pairs.
    iSQL*Plus will define the variable varname to equal value prior
    to executing the script e.g.
    ...script=http://server/s1.sql&var1=hello&var2=world
    This is equivalent to the SQL*Plus commands:
    SQL> define var1=hello
    SQL> define var2=world
    SQL> @http://server/s1.sql
    iSQL*Plus, SQL*Plus and SQL keywords are reserved
    and must not be used as the variable names (varname). Note also,
    that since variables are delimited by the ampersand character,
    there is no requirement to enclose space delimited values with
    quotes. However, to embed the ampersand character itself in the
    value, it will be necessary to use quotes.
    For compatibility with older scripts using the &1
    variable syntax, varname may be replaced with the equivalent
    variable position as in:
    ...script=http://server/s1.sql&1=hello&2=world
    Note the & is the URL parameter separator and not
    related to the script's substitution variable syntax.
    Commands and script parameters may be given in any
    order in the dynamic report URI. However, please note that if any
    parameters begin with reserved keywords such as "script" or
    "userid" then it may be interpreted as a command rather than a
    literal parameter.

  • How to establish this kind of connection string

    I am using the model: Multiple Embedded Application Clients Accessing Remote Database. There is a database named ServerDB, a DSN named ServerDSN and a muti-user service on the server machine. Plus, there is a DSN named ClientDSN which will route to server machine on the client machine. Then how to establish the connection string for a client application under this condition in C# language? Thanks. It seems that the following connection model in the document doesn't work: OracleConnection conn = new OracleConnection
    ("DataDirectory=\\orace;Database=polite;DSN=*;uid=system;pwd=manager"); I don't know how to fill those parameters.
    I also tried this: conn = new OracleConnection("DSN=ClientDSN;UID=System;PWD=Manager"); But still failed.
    Thanks very much if someone can help me. Urgent problem.
    Message was edited by:
    user474792

    You can read section 1.4.3 in dev.pdf of Oracle Lite for more detail. There is a model like above.
    There is no main database like Oracle server. And there is only one odb file for all the clients. On every client machine, there is a DSN which include the information about server machine.
    I think you'd better read the document first, thanks.
    Hope you can continue to discuss with me, ^_^

  • Securely sending connection string to swf?

    ok so when i need to connect a swf to some sort of data
    source on the server be it XML, a .NET DLL, a CFC or what ever so
    that i can load data from a database or what ever, everyone is
    always saying that i shouldn't hard code the connection string into
    my actionscript as anyone can get it and do malicious things with
    it.
    So how should i load the connection string into flash. if i
    put them on the server in an XML file or somthing like that then i
    still need to put a connection string into the actionscript in
    order to load in my main connection strings into the actionscript.
    Basically i need to know how to load an external string into
    a swf without anyone else being able to get hold of that string for
    them selves.
    i realy need help with this because i am developing an app
    for somone and i need it to connect to a database and i need it to
    be secure. i have everything sorted except making the connection
    string to the database unstealable.

    Why aren't you just using regular form submissions to send
    data and regular string data or xml to load data?
    I don't think you can hide anything from the user. I think
    you have to handle security serverside and the client only gets to
    see his own user/pass and whatever data you send to him.

  • How to configure JDBC connection in oracle BI publisher with teradata datab

    Hi,
    I am going to use Oracle BI publisher to create report.
    Our database is Teradata.
    How to create database connection for Teradata in BI publisher.
    How to create JDBC connection.
    What should be the Database Driver Class?
    What should be the connection string format?
    Please provide me the suggetion.
    Thanks,
    Santanu Manna

    Hi;
    I suggest please refer below which could be helpful on your issue:
    How To Generate XML Output (Excel, HTML, PDF) for FSG Reports [ID 804913.1]
    E-XMLP: BI Publisher Report RTF Template to Excel output is not same as PDF,RTF or HTML format.[Article ID 1515711.1]
    BI Publisher Enterprise Excel Output File Size is Too Large [ID 1271544.1]
    Regard
    Helios

  • Changing Connection String dynamically at runtime

    I am using the Crystal Report Viewer control in in a Visuall Studio 2008 C# project.  The reports are created inside of Visual Studio 2008, and will be running against an InterSystems Cache database.  I have to use an ODBC (RDO) connection and use a connection string.
    I have seen many examples of how to update the connection string at runtime if it is SQL server (or some flavor thereof), but nothing for an ODBC (RDO) connection to a NON-MSSQL database.
    The problem when I update the connection string for each of the tables in the report, the report will either not run and display a window -- tiled 'Datbase Login' -- that has the Server, Database, Username, and Password fields on the window, OR, it will run but not against the database that was specified at runtime (it uses the connection stored in the report).
    Code Sample #1 (This is using the connection string, and will cause a the "Database Login" window to be displayed - the first scenario from above)
    rd = new ReportDocument();
    // Load the report
    rd.Load(fileName, OpenReportMethod.OpenReportByDefault);
    rd.Refresh();
    // Create the connection object
    ConnectionInfo connectionInfo = CreateConnection(Server, Port, ServerNamespace, Username, Password);
    // Set the connection info on each table in the report
    SetDBLogonForReport(connectionInfo, rd);
    SetDBLogonForSubreports(connectionInfo, rd);
    private static ConnectionInfo CreateConnection(string Server,
                                                   int Port,
                                                   string ServerNamespace,
                                                   string Username,
                                                   string Password)
            ConnectionInfo connectionInfo = new ConnectionInfo();
            string connString = "DRIVER=InterSystems ODBC;SERVER=" + Server
                                                      + ";PORT=" + Port
                                                      + ";DATABASE=" + ServerNamespace
                                                      + ";UID=" + Username
                                                      + ";PWD=" + Password;
            connectionInfo.IntegratedSecurity = false;
            connectionInfo.UserID = Username;
            connectionInfo.Password = Password;        //In examples that I have seen, this is the actual connection string, not just the server name
            connectionInfo.ServerName = connString;          connectionInfo.DatabaseName = ServerNamespace;
            connectionInfo.Type = ConnectionInfoType.CRQE;
            return connectionInfo;
    private static void SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument reportDocument)
            foreach (CrystalDecisions.CrystalReports.Engine.Table table in reportDocument.Database.Tables)
                TableLogOnInfo tableLogonInfo = table.LogOnInfo;
                tableLogonInfo.ConnectionInfo = connectionInfo;
                table.ApplyLogOnInfo(tableLogonInfo);
    private static void SetDBLogonForSubreports(ConnectionInfo connectionInfo, ReportDocument reportDocument)
            foreach (Section section in reportDocument.ReportDefinition.Sections)
                foreach (ReportObject reportObject in section.ReportObjects)
                    if (reportObject.Kind == ReportObjectKind.SubreportObject)
                        SubreportObject subreportObject = (SubreportObject)reportObject;
                        ReportDocument subReportDocument = subreportObject.OpenSubreport(subreportObject.SubreportName);
                        SetDBLogonForReport(connectionInfo, subReportDocument);
    Sample #2 (the same as Sample #1 above, only the ConnectionInfo method is different - which is all that I included here)
    private static ConnectionInfo CreateConnection(string Server,
                                                    int Port,
                                                   string ServerNamespace,
                                                   string Username,
                                                   string Password)
            ConnectionInfo connectionInfo = new ConnectionInfo();
            string connString = "DRIVER=InterSystems ODBC;SERVER=" + Server
                                                      + ";PORT=" + Port
                                                      + ";DATABASE=" + ServerNamespace
                                                      + ";UID=" + Username
                                                      + ";PWD=" + Password;
            connectionInfo.Attributes.Collection.Add(new NameValuePair2(
                              DbConnectionAttributes.CONNINFO_DATABASE_DLL, DbConnectionAttributes.DATABASE_DLL_CRDB_ODBC));
            connectionInfo.Attributes.Collection.Add(new NameValuePair2(
                              DbConnectionAttributes.QE_DATABASE_NAME, ServerNamespace));
            connectionInfo.Attributes.Collection.Add(new NameValuePair2(
                              "QE_DatabaseType", "ODBC (RDO)"));
            DbConnectionAttributes attributes = new DbConnectionAttributes();
            attributes.Collection.Add(new NameValuePair2(
                              DbConnectionAttributes.CONNINFO_CONNECTION_STRING, connString));
            attributes.Collection.Add(new NameValuePair2(
                              "Server", Server));
            attributes.Collection.Add(new NameValuePair2(
                              "UseDSNProperties", false));
            connectionInfo.Attributes.Collection.Add(new NameValuePair2
    (                          DbConnectionAttributes.QE_LOGON_PROPERTIES, attributes));
            connectionInfo.Attributes.Collection.Add(new NameValuePair2(
                              DbConnectionAttributes.QE_SERVER_DESCRIPTION, Server));
            connectionInfo.Attributes.Collection.Add(new NameValuePair2(
                              "QE_SQLDB", true));
            connectionInfo.Attributes.Collection.Add(new NameValuePair2(
                              DbConnectionAttributes.CONNINFO_SSO_ENABLED, false));
            connectionInfo.IntegratedSecurity = false;
            connectionInfo.UserID = Username;
            connectionInfo.Password = Password;
            connectionInfo.ServerName = connString;
            connectionInfo.DatabaseName = ServerNamespace;
            connectionInfo.Type = ConnectionInfoType.CRQE;
            return connectionInfo;
    I have also tried setting connectionInfo.ServerName equal to just the real server name, but that didn't work either.
    After the above operations are performed, I simply assign the returned ReportDocument object to the Crystal Viewer control.  If I don't call the above functions, and just set the ReportDocument source (using whatever connection string was embedded in the report originally), the report runs as expected.  Only when I attempt to update the connection string, the report will not execute.  Please advise.  Thanks!

    I am using the Crystal Report Viewer control in in a Visuall Studio 2008 C# project.  The reports are created inside of Visual Studio 2008, and will be running against an InterSystems Cache database.  I have to use an ODBC (RDO) connection and use a connection string.
    I have seen many examples of how to update the connection string at runtime if it is SQL server (or some flavor thereof), but nothing for an ODBC (RDO) connection to a NON-MSSQL database.
    The problem when I update the connection string for each of the tables in the report, the report will either not run and display a window -- titled 'Datbase Login' -- that has the Server, Database, Username, and Password fields on the window, OR, it will run but not against the database that was specified at runtime (it uses the connection stored in the report).
    Code Sample #1 (This is using the connection string, and will cause a the "Database Login" window to be displayed - the first scenario from above) -- The code samples appear to be too long to post, so I will add them as seperate replies.
    rd = new ReportDocument();
    // Load the report
    rd.Load(fileName, OpenReportMethod.OpenReportByDefault);
    rd.Refresh();
    // Create the connection object
    ConnectionInfo connectionInfo = CreateConnection(Server, Port, ServerNamespace, Username, Password);
    // Set the connection info on each table in the report
    SetDBLogonForReport(connectionInfo, rd);
    SetDBLogonForSubreports(connectionInfo, rd);
    private static ConnectionInfo CreateConnection(string Server, int Port, string ServerNamespace, string Username, string Password)
            ConnectionInfo connectionInfo = new ConnectionInfo();
            string connString = "DRIVER=InterSystems ODBC;SERVER=" + Server + ";PORT=" + Port + ";DATABASE=" + ServerNamespace + ";UID=" + Username + ";PWD=" + Password;
            connectionInfo.IntegratedSecurity = false;
            connectionInfo.UserID = Username;
            connectionInfo.Password = Password;        //In examples that I have seen, this is the actual connection string, not just the server name
            connectionInfo.ServerName = connString;          connectionInfo.DatabaseName = ServerNamespace;
            connectionInfo.Type = ConnectionInfoType.CRQE;
            return connectionInfo;
    // Code smple continued in the next reply

  • Connection String Hades

    Hi,
    I'm trying to connect to a MS SQL database on an account I
    have hosted through GoDaddy.com. It's beginning to drive me a
    little loopy. Their server is so different from other webhosts I've
    used. Does anyone know how to write the connection string in a
    web.config file so that my current applications will work?
    Thanks!

    You will of course have to update with the info they sent
    you, but this
    should work:
    <connectionStrings>
    <add name="Personal" connectionString="
    Server=whsql-v04.prod.mesa1.secureserver.net;
    Database=DB_675;
    User ID=user_id;
    Password=password;
    Trusted_Connection=False"
    providerName="System.Data.SqlClient" />
    <remove name="LocalSqlServer"/>
    <add name="LocalSqlServer" connectionString="
    Server=whsql-v04.prod.mesa1.secureserver.net;
    Database=DB_675;
    User ID=user_id;
    Password=password;
    Trusted_Connection=False"
    providerName="System.Data.SqlClient" />
    </connectionStrings>
    "jroxit333" <[email protected]> wrote in
    message
    news:e7ped7$8ag$[email protected]..
    >
    >
    > Hi,
    >
    > I'm trying to connect to a MS SQL database on an account
    I have hosted
    > through
    > GoDaddy.com. It's beginning to drive me a little loopy.
    Their server is
    > so
    > different from other webhosts I've used. Does anyone
    know how to write
    > the
    > connection string in a web.config file so that my
    current applications
    > will
    > work?
    >
    > Thanks!
    >

Maybe you are looking for

  • How to get rid of '+' sign in front of ASM in OEM

    I have the target name like '+ASM1_cad2updb001' in the OEM. For our program to work, I need to get rid of the plus sign at the begining. Can you tell me how to achieve this? Thanks! Edited by: user12238208 on Nov 30, 2009 1:31 PM

  • How to programmatically change a pdf to an image?

    PDF files, as you might know, cannot be read off of a web server using Microsoft Internet Explorer. Is there a programmatically way to convert a PDF to an image on the back-end? There are lots of solutions to convert a pdf to an image file locally. 

  • BADI FILTER_F4_ADHOC_AGENT does not start

    Hello, I have the following problem. I want to manipulate the search result when adding a new approver. The Problem is that the method FILTER_F4_ADHOC_AGENTS build in with BADI does not start. My breakpoint in there is useless. On the other hand the

  • Urgent needed of work flow documents.

    Hi Foks,             Can any one send me work flow documents to my mail ID : [email protected] I am in urgent need of the documents . <b><REMOVED BY MODERATOR></b> Regards, veera Message was edited by:         Alvaro Tejada Galindo

  • Auto Call Generation

    Hi All, Can we generate bulk calls by using ICM Script like we can do in opensource goautodial........I want to generate bulk calls to different CLIs and want to play some recording. Farhan