سلام
من یک برنامه نوشتم که توی اون از sql استفاده می کنم. وقتی می خواهم برنامه را روی یک کامپیوتر که sql روی اون نصب نیست اجرا کنم Error می ده .
می خواستم ببینم راه حلی وجود داره که بدون نصب sql روی کامپیوتر میزبان از برنامه استفاده کنم.
سلام
من یک برنامه نوشتم که توی اون از sql استفاده می کنم. وقتی می خواهم برنامه را روی یک کامپیوتر که sql روی اون نصب نیست اجرا کنم Error می ده .
می خواستم ببینم راه حلی وجود داره که بدون نصب sql روی کامپیوتر میزبان از برنامه استفاده کنم.
سلام.
البته که راهی وجود نداره، مگر اینکه توی Connection String خودتون، یه Instance از SQL Server دیگه رو روی شبکه آدرس کنید. در غیر اینصورت، باید بالاخره SQL Server ای نصب باشه که ...
موفق باشید.
پاورقی: عین این میمونه که کاربر بدون نیاز به نصب برنامه شما، بخواد با برنامه شما کار کنه. آیا این چنین چیزی میسر هستش؟
راه حل ديگر استفاده از SQLite به جاي SQL Server مي باشد.
Using SQLite on a Network
پی نوشت:
اقا Sqlite رو دوست بدار تا همه تو رو دوست داشته باشن (چه بی ربط بود)
Kernel Mode Developer
RootKitSMM@Yahoo.com
من برای ساخت بانکم از نسخه استاندارد استفاده می کنم می تونم تو سیستم مشتری express نصب کنم و از اون استفاده کنم؟مشکلی پیش نمی آد؟
connection string داخل برنامه رو چه چوری عوض کنم؟
احتمالا" فرق نکنه درست نمی دونم ولی خودت با virtual box امتحان کن یا صبر کن من امتحان کنم
راستی چرا از همون sqlite استفاده نمی کنی؟؟؟
Kernel Mode Developer
RootKitSMM@Yahoo.com
اینکه sqlite بعضی چیزارو پشتیبانی نمی کنه درسته؟ مثلا sp ها اگر اینطور باشه ازش استفاده نکنیم بهتره که
و اینکه به نظر شما تو سیستم مشتری کدوم نسخه نصب بشه بهتره؟
express خوبه؟
اگر میخواهید یه برنامه خوب بنویسید باید برنامهای بنویسید که بتونه cross-database باشه و بدین منظور باید از حد اقل امکانات استفاده کنید.
البته هیچوقت بهترین بهره از کمترین امکانات رو فراموش نکنید.
در ضمن اگر یه DAL خوب داشته باشید(99% برنامه ها ندارند) میتونید با توجه به نوع database بهترین دستور رو اجرا کنید.
به طور مثال به این بخش از یک code-generator نگاه کنید:
#if SQLite
W(ref n, st, " _Max_" + dc.ColumnName + " = (" + dc.DataType.FullName + ")Convert.ToInt64(CommandExecution.ExecuteScalar(\ "Select seq from sqlite_sequence where name = '" + dt.TableName + "'\")) - 1;");
#endif
#if SQLServer
W(ref n, st, " _Max_" + dc.ColumnName + " = (" + dc.DataType.FullName + ")Convert.ToInt64(CommandExecution.ExecuteScalar(\ "Select ISNULL(IDENT_CURRENT('" + dt.TableName + "'), 0)\"));");
W(ref n, st, " if(_Max_" + dc.ColumnName + " == 0)");
W(ref n, st, " _Max_" + dc.ColumnName + " = (" + dc.DataType.FullName + ")Convert.ToInt64(CommandExecution.ExecuteScalar(\ "Select ISNULL(Max(dbo.[" + dt.TableName + "].[" + dc.ColumnName + "]), 0) from dbo.[" + dt.TableName + "]\"));");
#endif