Я, вероятно, отвечаю слишком поздно, чтобы иметь шанс на награду, но я все равно предложу ответ.
Если вы работаете с Crystal Report напрямую или с Crystal Enterprise, то единственный способ сделать это - использовать dsn, как упоминает paulmorriss. Недостатком этого является то, что вы будете использовать ODBC, который, как я считаю, обычно работает медленнее и считается устаревшим.
Если вы используете это в приложении, вы можете просто изменить настройки подключения к базе данных в коде. Затем каждый может разработать отчет для своей собственной тестовой базы данных, и вы можете указать его на производственную базу данных во время выполнения (при условии, что база данных разработчиков обновлена и содержит те же поля, что и производственная база данных).
Для этого вы сможете использовать функцию, подобную следующей:
private void SetDBLogonForReport(CrystalDecisions.Shared.ConnectionInfo connectionInfo, CrystalDecisions.CrystalReports.Engine.ReportDocument reportDocument)
{
CrystalDecisions.CrystalReports.Engine.Tables tables = reportDocument.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
CrystalDecisions.Shared.TableLogOnInfo tableLogonInfo = table.LogOnInfo;
tableLogonInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogonInfo);
}
}
Чтобы это работало, вам нужно передать объект ConnectionInfo (который будет содержать всю вашу регистрационную информацию) и документ отчета, к которому он будет применен. Надеюсь, это поможет.
РЕДАКТИРОВАТЬ - Другой вариант, в который я не могу поверить, о котором я до сих пор не думал, заключается в том, что если вы используете SQL Server, вы можете убедиться, что все имена баз данных разработки являются то же самое, затем используйте "." или «(локально)» для сервера и интегрированной безопасности, чтобы каждый мог иметь одинаковую информацию о подключении локально. Я думаю, что это лучший способ предположить, что вы можете заставить всех разработчиков использовать одну и ту же настройку.
РЕДАКТИРОВАТЬ еще раз:)
Прочитав некоторые комментарии к другим ответам, я думаю, что, возможно, неправильно понял вопрос. Я не могу думать о том, почему вы не сможете выполнить шаги, описанные в ответе Арво, кроме отсутствия прав на редактирование отчета, но я предполагаю, что вы смогли внести другие изменения, поэтому я сомневаюсь, что это так. Я предположил, что для того, чтобы отчет работал для каждого разработчика, вы выполняли эти шаги все время.